10 2021 档案
摘要:GO 断言时不能只接收一个参数 DEMO package main import "fmt" func GetString() interface{} { return "abc" } func main() { // 不显式声明断言的第二个参数 当断言失败时 会panic str := GetSt
阅读全文
摘要:GO 自定义Cache DEMO package main import ( "fmt" "sync" "time" ) // 缓存对象 type CacheItem struct { Value interface{} // 实际缓存的对象 TTL time.Duration // 存活时间 Cr
阅读全文
摘要:GO 函数式选项模式(Functional Options Pattern) Option模式的优缺点 优点: 1. 支持传递多个参数,并且在参数个数、类型发生变化时保持兼容性 2. 任意顺序传递参数 3. 支持默认值 4. 方便拓展 缺点: 1. 增加许多function,成本增大 2. 参数不太
阅读全文