关于go 的append
1, 当slice基于array创建的时候,slice和array是同一段内存, slice的len, cap受限与array;
2,当append的时候, 返回的值是一个新的内存, 与源array没有关系
import "fmt" func TestSliceBaseArray(){ var data [3]string = [3]string{"1", "2", "3"} one := data[:] fmt.Println(one) two := append(one, "4") fmt.Println(len(one), cap(one), one, two) one[0] = "888" two[0] = "999" fmt.Println(one , two, data) } func main() { TestSliceBaseArray() }
有疑问加站长微信联系(非本文作者)