切片是对某个容器不同区间范围的引用。
a := []int{0,0,0,0,0}
这行代码实际上包含了两个逻辑步骤:
1.创建了一个容量为5的容器
2.a引用容器[0:5]的区间,a[1]=1即设置变容器第二个位置的值为1。
b := a[0:2]
这行代码并没有创建新的容器,只是在原有容器上增加了一个新的引用b,b可以修改容器的[0:2]区间内的值,由于a也可以修改这个区间的值,所以对b做出赋值操作也会反应到a上。
有疑问加站长微信联系(非本文作者)
切片是对某个容器不同区间范围的引用。
a := []int{0,0,0,0,0}
这行代码实际上包含了两个逻辑步骤:
1.创建了一个容量为5的容器
2.a引用容器[0:5]的区间,a[1]=1即设置变容器第二个位置的值为1。
b := a[0:2]
这行代码并没有创建新的容器,只是在原有容器上增加了一个新的引用b,b可以修改容器的[0:2]区间内的值,由于a也可以修改这个区间的值,所以对b做出赋值操作也会反应到a上。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
切片是对某个容器不同区间范围的引用。
a := []int{0,0,0,0,0}
这行代码实际上包含了两个逻辑步骤:
1.创建了一个容量为5的容器
2.a引用容器[0:5]的区间,a[1]=1即设置变容器第二个位置的值为1。
b := a[0:2]
这行代码并没有创建新的容器,只是在原有容器上增加了一个新的引用b,b可以修改容器的[0:2]区间内的值,由于a也可以修改这个区间的值,所以对b做出赋值操作也会反应到a上。