make定义切片的长度和容量
s1 := make([]int,5,10)//第一个参数是类型,第二个参数是长度,第三个是容量,容量可以不写,默认和长度一样
fmt.Printf("s1=%v len(s1)=%d cap(s1)=%d"\n,s1,len(s1),cap(s1))
//s1=[0 0 0 0 0] len(s1)=5 cap(s1)=10
s2 := make([]int,0,10)
fmt.Printf("s2=%v len(s2)=%d cap(s2)=%d\n",s2,len(s2),cap(s2))
//s2=[] len(s2)=0 cap(s2)=10
切片的赋值
s3 := []int{1,3,5}
s4 := s3 //都指向同一个底层数组
fmt.Println(s3,s4)
//[1 3 5] [1 3 5]
s3[0] = 1000
fmt.Println(s3,s4)
//[1000 3 5] [1000 3 5]
切片的遍历
索引遍历
for i :=0; i < len(s3); i++ {
fmt.Println(s3[i])
}
//1000
//3
//5
for range循环
for i,v := range s3 {
fmt.Println(i,v )
}
//0 1000
//1 3
//2 5
网友评论