```````
testList := []uint16{1, 2, 3, 4}
myTest := testList //1.mytest 和 testList指向同一段
myTest = append(myTest, 9) //分离指向,所以在设计的时候最好给一个cap,不需要频繁的开辟内存
fmt.Println(testList)
```````
<a href="/user/mlzhou" title="@mlzhou">@mlzhou</a> 你使用的 testList := []uint16{1, 2, 3, 4},初始化的slice 的 len, cap 都是一样的 ,当你在使用append的时候,如果这时len=cap,append会重新分配slice,所有返回的地址变了;如果你使用append时,testList 的cap - len 剩下的足够放append函数第二个参数的,那他就不会重新分配空间,返回的地址也不会变。
这个真心不是go的坑,只能说你基础知识看的不仔细
#8
更多评论
<a href="/user/focusonline" title="@focusonline">@focusonline</a> 那请问range多重map[]map[]val呢,不注意么?
#2