切片的坑特别多

mlzhou · · 3079 次点击
```go testList := []uint16{1, 2, 3, 4} fmt.Printf("%p\n", &testList) myTest := testList //1.mytest 和 testList指向同一段 testList[0] = 10 fmt.Printf("%p\n", &myTest) myTest = append(myTest, 9) //分离指向,所以在设计的时候最好给一个cap,不需要频繁的开辟内存 fmt.Printf("%p\n", &myTest) myTest[0] = 9 fmt.Println(testList) fmt.Println(myTest) 0xc21000a020 0xc21000a060 0xc21000a060 [10 2 3 4] [9 2 3 4 9] ``` 如果你还是看不懂, 放弃吧, 你不适合golang, 还是去学java更合适.
#4
更多评论
这算什么坑, go本来就是值复制, 不是引用复制. 这是基础问题,不是所谓的坑.
#1
<a href="/user/focusonline" title="@focusonline">@focusonline</a> 那请问range多重map[]map[]val呢,不注意么?
#2