golang slice分割和append copy还是引用
1. slice1:= slice[0:2] 引用,非复制,所以任何对slice1或slice的修改都会影响对方 data := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0} data1 := data[0:2] data1[0] = 99 fmt.Println(data1) fmt.Println(data) [99 2] [99 2 3 4 5 6 7 8 9 0] 2.append append 比较特殊 声明: 源slice= src 添加slice = app 结果slice=tar 1)如果len(src) + len(app) <= cap(src) src和tar 是指向同一数据引用 ,即修改src或tar,会影响对方 2)否则 tar 是copy...阅读全文