摘要: 目录Redis锁的深入实现Backoff重试策略的深入探讨结合Redis锁与Backoff策略的高级应用具体实现结论 在构建分布式系统时,确保数据的一致性和操作的原子性是至关重要的。Redis锁作为一种高效且广泛使用的分布式锁机制,能够帮助我们在多进程或分布式环境中同步访问共享资源。本文将深入探讨如 阅读全文
posted @ 2024-09-16 09:55 tatasix 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 在Go语言中,JSON标签(JSON tags)是用来指定结构体字段在序列化为JSON时的名称和行为的。JSON标签通常写在结构体字段的后面,用反引号(`)括起来。以下是一些常用的JSON标签: json:"field_name":指定JSON对象中的字段名。例如: type Person stru 阅读全文
posted @ 2024-08-28 13:56 tatasix 阅读(18) 评论(0) 推荐(0) 编辑
摘要: go实现sse,go-zero中实现sse 阅读全文
posted @ 2024-07-17 10:24 tatasix 阅读(14) 评论(0) 推荐(0) 编辑
摘要: package chat import ( "encoding/json" "github.com/gorilla/websocket" "github.com/zeromicro/go-zero/core/logx" "log" "net/http" "sync" ) type Client st 阅读全文
posted @ 2024-07-08 16:07 tatasix 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 位运算(bitwise operations)是计算机科学中非常基础且重要的运算类型,它直接操作二进制位。Go语言中提供了一组位运算符,用于执行位级别的操作。 Go语言中的位运算符 按位与(&): 作用:对两个操作数的每个位进行与运算,只有对应位都为1时,结果位才为1。 示例:5 & 3 (0101 阅读全文
posted @ 2024-06-20 16:55 tatasix 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 在 Go 语言中,方法的调用规则对于值接收者和指针接收者有一些特别的行为,这使得代码变得更加简洁和易用。我们来详细解释一下“方法值调用规则”和“方法表达式调用规则”,以及它们如何影响代码的行为。 方法值调用(Method Value Call) 在 Go 中,方法调用的语法是 receiver.me 阅读全文
posted @ 2024-06-17 09:59 tatasix 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 【第一种】一种类型实现多个接口,各个接口变量调用各自的方法 type Work struct { i int } func (w Work) ShowA() int { return w.i + 10 } func (w Work) ShowB() int { return w.i + 20 } f 阅读全文
posted @ 2024-06-14 17:54 tatasix 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 在 Go 语言中,比较操作符(== 和 !=)可以用于许多数据类型,但也有一些数据类型不支持直接比较。下面详细解释哪些数据类型可以比较,哪些不能比较,以及相关的规则和原因。 可以比较的数据类型 布尔型(bool): 可以使用 == 和 != 进行比较。 例如:true == true 返回 true 阅读全文
posted @ 2024-06-14 16:39 tatasix 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Go 语言中的变量作用域规则决定了变量在程序的哪些部分是可见的和可以访问的。理解这些规则对于编写清晰、维护性高的代码非常重要。下面是一个系统性的解释。 变量的作用域类型 包级作用域: 包级作用域的变量在整个包内是可见的。使用 var 或 const 关键字在包级声明的变量就是包级变量。 包级函数也是 阅读全文
posted @ 2024-06-14 16:37 tatasix 阅读(31) 评论(0) 推荐(0) 编辑
摘要: SVN(Linux)提交时强制写日志 1.创建并修改pre-commit文件 进入svn/code/hooks目录,在svn版本库的hooks文件夹下面,复制模版pre-commit.tmplcp pre-commit.tmpl pre-commitchmod +x pre-commit 2.编辑p 阅读全文
posted @ 2019-01-11 20:10 tatasix 阅读(1036) 评论(0) 推荐(0) 编辑