如果有使用内存存一些简单数据的功能,可以实现下面这样的带有过期时间的内存类内存中存储key-value,并且可以设置过期时间package tools import ( "sync" "time" ) // Memory struct contains *memcache.Client type Memory struct { sync.Mutex data map[string]*data } type data struct...
-
【Golang】golang实现简单memcache
-
深入浅出Golang关键字"go"
1. 写在前面 昨天,有人拿着下面这段代码,问题我结果为什么不是10个10? 当然,这道题的结果,我相信很大一部分人都会弄错。 所以,我希望做错的人都能静下心来看完本人的分析!运行看结果 func main() { runtime.GOMAXPROCS(1) for i := 0; i < 10; i++ { go println(i) } runtime.Gosched() time.Sleep(time.Second) } 2. 从源码入手 此例中 “runtime” 的问题暂且不详说,后面...
-
Golang技巧之默认值设置的高阶玩法
从别人的代码中吸取养分!让自己成长 最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 CartExts 是扩展属性,它有自己的默认值,使用者希望如果不改变默认值时就不传该参数。但是由于 Golang 无法在参数中设置默认...