package
0.0.0-20240926033524-0989935589bb
Repository: https://github.com/stevenlee87/go-daily-lib.git
Documentation: pkg.go.dev
# README
1.2.2 特性速览
1.初始化
声明和初始化切片的方式主要有以下几种:
- 变量声明;
- 字面量
- 使用内置函数make();
- 从切片和数组中切取
1) 变量声明
var s []int
2) 字面量
s1 := []int{} // 空切片
s2 := []int{1, 2, 3} // 长度为3的切片
也可以使用字面量初始化切片,需要了解的是空切片是指长度为空,其值并不是nil
声明长度为0的切片时,推荐使用变量声明的方式获得一个nil切片,而不是空切片,因为nil切片不需要内存分配。
3) 内置函数make()
s1 := make([]int, 12) // 指定长度
s2 := make([]int, 10, 100) // 指定长度和空间
内置函数make() 可以创建切片,切片元素均初始化为相应类型的零值。
推荐指定长度的同时指定预估空间,可有效地减少切片扩容时内存分配及拷贝次数。