go append的坑

b := []int{1,2,3,4,5}


	slice := b[:2]

	newSlice := append(slice, 50)
	fmt.Println(b)
	fmt.Println(newSlice)

  

打印: 

[1 2 50 4 5]
[1 2 50]

append 底层源码实现如果发现切片指向原数组的容量足够大就不会扩容另外分配一个数组,而是修改原数组。  

上一篇:js String


下一篇:我用js完成了按n位数的来进行分割数组