Hidden trap in GO for-loop
今天开发过程中发现了 go 的一个小 trick,在 for-loop 的执行过程中,根据 slice 的数据类型,有不同的表现。
先看出问题的代码:
func LoopWithBug(list []Obj) ObjList {
newList := make([]*Obj, 0, len(list))
for _, o := range list {
newList = append(newList, &o)
}
return ObjList{
...
taylorzyx.hashnode.dev3 min read