切片的长度可以改变,因此,切片是一个可变的数组。与数组不同的是,定义切片可以不指定数组的长度。
组成要素:
//数组
s2 := [3]int{
1,2,3}
//切片
s2 := []int{
1,2,3}
2.使用make初始化
var slice []type = make([]type, len)
slice := make([]type, len)
slice := make([]type, len, cap)
slice:=make([]int,5) //初始化长度和容量都为5
slice:=make([]int,5,10)//初始化长度为5,容量为10
3.在数组上截取
arr:=[...]int{
0,1,2,3,4,5,6,7}
s1=arr[2:6]
fmt.Printf("s1=%v,len(s1)=%d,cap(s1)=%d\n",s1,len(s1),cap(s1))//s1=[2 3 4 5],len(s1)=4,cap(s1)=6
s2=s1[3:5]
fmt.Printf("s2=%v,len(s2)=%d,cap(s2)=%d\n",s1,len(s2),cap(s2))//s2=[5 6],len(s2)=2,cap(s2)=3
4.使用切片初始化另一个切片
s6:=[] int{
1,2,3,1,2,5}
s7:=s6[:]
fmt