请你能帮我理解从数组生成切片的工作原理。为什么 ID1 和 ID2 不一样?
a := [2]string{"a", "b"}
b := [2]string{"c", "d"}
var z [2][2]string
z[0] = a
z[1] = b
fmt.Printf("%s\n", z)
var id [][]string
for _, t := range z {
temp := t[:]
id = append(id, temp)
}
fmt.Printf("\nid1 = %s", id)
var id2 [][]string
for _, t := range z {
temp := t
id2 = append(id2, temp[:])
}
fmt.Printf("\nid2 = %s", id2)
[[A B C D]]
id1 = [[cd] [cd]]
id2 = [[ab] [cd]]
蓝山帝景
拉丁的传说
九州编程
相关分类