package main import "fmt" func main() { var num []int printSlice(num) /* 允許追加空切片 */ num = append(num) printSlice(num) /* 向切片添加一個元素 */ num=append(num,0) printSlice(num) /* 同時添加多個元素 */ num=append(num,1,2,3) printSlice(num) /* 創建切片 num1 是之前切片的兩倍容量*/ num1 := make([]int, len(num), cap(num)*2) printSlice(num1) /* 拷貝 numbers 的內容到 numbers1 */ copy(num1,num) printSlice(num1) } func printSlice(x []int) { fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x) }
執行結果
len=0 cap=0 slice=[] len=0 cap=0 slice=[] len=1 cap=1 slice=[0] len=4 cap=4 slice=[0 1 2 3] len=4 cap=8 slice=[0 0 0 0] len=4 cap=8 slice=[0 1 2 3]