package main import "fmt" func main() { slice1 := []int{1, 2, 3} fmt.Printf("len = %d, slice = %v\n", len(slice1), slice1) var slice2 []int fmt.Printf("len = %d, slice = %v\n", len(slice2), slice2) var slice3 []int slice3 = make([]int, 3) slice3[0] = 100 fmt.Printf("len = %d, slice = %v\n", len(slice3), slice3) var slice4 []int = make([]int, 3) fmt.Printf("len = %d, slice = %v\n", len(slice4), slice4) slice5 := make([]int, 3) fmt.Printf("len = %d, slice = %v\n", len(slice5), slice5) var slice6 []int if slice6 == nil { fmt.Println("slice6为空") } else { fmt.Println("slice长度为", len(slice6)) } // 长度与容量 var numbers = make([]int, 3, 5) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers), cap(numbers), numbers) // 追加一个元素1(len(numbers) = 4) numbers = append(numbers, 1) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers), cap(numbers), numbers) numbers = append(numbers, 2) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers), cap(numbers), numbers) numbers = append(numbers, 3) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers), cap(numbers), numbers) var numbers2 = make([]int, 3) fmt.Printf("len = %d, cap = %d, slice = %v\n", len(numbers2), cap(numbers2), numbers2) // 截取 s := []int{1, 2, 3} s1 := s[0:2] s2 := make([]int, 3) copy(s2, s) s[1] = 200 fmt.Println(s1) fmt.Println(s) fmt.Println(s2) }