对于GO的数组和切片的初步了解,
切边是数组的一个指针,切片的初始化有三种:一种是通过make,即
slice := make([]int,5,10)
另一种是通过:=指向一个已经存在的数组。即
slice := []int {1,2,3,4,5,6}
切片的切片不可初始化超过原始切片的cap值,比如:
sliceA := make([]int,5,10) sliceB := sliceA[:11]
这个是不行的,11超过了sliceA的cap值(10),会报运行时异常。
对切片的append,如果超过切片的cap值,编译器会扩充切片cap至原始切片cap+扩展后的切片len。
对切片的append,如果超过切片的cap值,编译器会扩充切片cap至原始切片cap+扩展后的切片len。
有疑问加站长微信联系(非本文作者)