深入浅出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” 的问题暂且不详说,后面...阅读全文

2018.11.24 22:29 三岁于辛
阅读:10575 评论:0

Golang技巧之默认值设置的高阶玩法

从别人的代码中吸取养分!让自己成长 最近使用 GRPC 发现一个设计特别好的地方,非常值得借鉴。 我们在日常写方法的时候,希望给某个字段设置一个默认值,不需要定制化的场景就不传这个参数,但是 Golang 却没有提供像 PHP、Python 这种动态语言设置方法参数默认值的能力。 低阶玩家应对默认值问题 以一个购物车举例。比如我有下面这样一个购物车的结构体,其中 CartExts 是扩展属性,它有自己的默认值,使用者希望如果不改变默认值时就不传该参数。但是由于 Golang 无法在参数中设置默认...阅读全文

2020年06月24日 大愚Talk
阅读:5460 评论:0