Go基础之切片
// SliceTest project main.go
package main
import (
"fmt"
)
func main() {
arr := [5]int{1, 2, 3, 4, 5}
slice1 := arr[:3] //在现有数组上创建切片
slice2 := make([]int, 5, 10) //make创建,5为元素个数,10为最大元素个数(可以增加)
slice3 := append(slice2, 1, 2) //增加一个或多个元素
slice4 := []int{1, 2, 3, 4, 5, 6}
slice5 := append(slice1, slice2...) //直接添加一个切片需要加上...
copy(slice2, slice1) //按较小的元素个数进行复制
fmt.Println("slice1:", slice1)
fmt.Println("slice2:", slice2)
fmt.Println("slice3:", slice3)
fmt.Println("slice4:", slice4)
fmt.Println("slice5:", slice5)
fmt.Printf("len1:%d,cap1:%d\n", len(slice1), cap(slice1))
fmt.Printf("len2:%d,cap2:%d\n", len(slice2), cap(slice2))
fmt.Printf("len3:%d,cap3:%d\n", len(slice3), cap(slice3))
/*
输出:
slice1: [1 2 3]
slice2: [1 2 3 0 0]
slice3: [1 2 3 0 0 1 2]
slice4: [1 2 3 4 5 6]
slice5: [1 2 3 0 0 0 0 0]
len1:3,cap1:5
len2:5,cap2:10
len3:7,cap3:10
*/
}
1、可以简单认为是长度可变的数组
2、动态增减元素是切片的特点

浙公网安备 33010602011771号