for _, cg := range consumers {
log.Logger.Infof("%p", cg)
utils.SafeGo(func() {
log.Logger.Infof("%#v", cg)
log.Logger.Infof("%p", cg)
StartConsumer(ctx, cfg.Endpoint, cfg.AccessKey, cfg.SecretKey, cg)
})
}
输出:
0xc000683540
0xc000683560
&queue.Test2{groupName:"test2"}
&queue.Test2{groupName:"test2"}
0xc000683560
0xc000683560
consumers 包含两个元素,值都是指针。
1.22 版本开始 range 每次不是会创建新变量了吗?为什么我 SafeGo 里面 cg 拿到的还是最后一个的值?
|