先查看下面的代码
package main
import "fmt"
func main() {
ints := make([]int, 3)
ints = append(ints, 1)
fmt.Println(ints)
}
打印的结果是
[0 0 0 1]
因为使用 内置函数 make([]type, len) 创建slice 时 len参数视为初始长度,会自动初始化,这里我们使用的类型是int,所以初始化值为0 ,如果是指针类型 则初始化值为nil;
并不是我一开始设想的只是给slice一个内置的长度 ,后添加的元素会自动从0开始,这个坑主要是我使用java List的思想套入了golang中