03 2021 档案
摘要:一. errors的基本应用 errors包是一个比较简单的包,包括常见的errors.New创建一个error对象,或通过error.Error方法获取error中的文本内容,本质上在builtin类型中,error被定义为一个interface,这个类型只包含一个Error方法,返回字符串形式的
阅读全文
摘要:源自官方博客一篇文章《The Laws of Reflection》,主要是对于interface类型和反射的一些概念性定义,以下内容仅用于个人记录,如果没有读过原文可能阅读体验不好,请谅解。 类型与接口 go是静态类型语言go是强类型语言别名类型也必须强转才能赋值类原类型interface类型可以
阅读全文
摘要:redsync是redis官方推荐的go版本分布式锁实现,标准的官方redlock算法实现,阅读了下源码并顺便复习一下redis分布式锁原理。 一. redlock算法 单点场景 首先来看单redis实例的场景,这是集群模式的基础。这种场景下实现分布式锁比较简单 加锁 各节点通过set key va
阅读全文