make
// 长度和容量都是5个元素
array := make([]string,5)
for i:=0;i<len(array);i++ {
array[i] = strconv.Itoa(i) // int to string
fmt.Printf("%d=%s \n",i,array[i])
}
fmt.Println()
//长度为3个 容量为5个
array1 := make([]string,3,5)
for i:=0;i<len(array1);i++ { //可以访问3个元素
array1[i] = strconv.Itoa(i) // int to string
fmt.Printf("%d=%s \n",i,array1[i])
}
打印
0=0
1=1
2=2
3=3
4=4
0=0
1=1
2=2
slice
[start:end]
slice := [] int {1,2,3,4,5,6,7,8,9}
slice1 := slice[2:5]
fmt.Printf("\n")
fmt.Printf("slice1.length=%d \n",len(slice1))
for i:=0;i<len(slice1);i++ {
fmt.Printf("%d=%d \n",i,slice1[i])
}
输出
slice1.length=3
0=3
1=4
2=5
[i:j:k]
长度为j-i , 容量为k-1
append
slice := [] int {1,2,3,4,5,6,7,8,9}
fmt.Printf("start myappend =============================\n")
// 3,4,5
slice1 := slice[2:5]
fmt.Printf("\n")
fmt.Printf("slice1.length=%d \n",len(slice1))
for i:=0;i<len(slice1);i++ {
fmt.Printf("%d=%d \n",i,slice1[i])
}
// 6 变成10 7变成了11
slice1 = append(slice1,10,11)
fmt.Printf("\n")
fmt.Printf("slice.length=%d \n",len(slice))
for i:=0;i<len(slice);i++ {
fmt.Printf("%d=%d \n",i,slice[i])
}
fmt.Printf("\n")
fmt.Printf("slice1.length=%d \n",len(slice1))
for i:=0;i<len(slice1);i++ {
fmt.Printf("%d=%d \n",i,slice1[i])
}
输出
start myappend =============================
slice1.length=3
0=3
1=4
2=5
slice.length=9
0=1
1=2
2=3
3=4
4=5
5=10
6=11
7=8
8=9
slice1.length=5
0=3
1=4
2=5
3=10
4=11
注意
6 变成10 7变成了11