1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| package main
import "fmt"
/* 定义切片:声明一个未指定大小的数组来定义切片 var identifier []type // 切片不需要说明长度
或者使用make()函数来创建切片: var slicel []type = make([]type, len) slicel := make([]type, len)
指定容量:(可以省略不写),要求length <= capacity,符合逻辑 make([]T, length, capacity)
len() cap()
append() copy() */
func main(){ var arr = [] int{1, 3, 4, 5, 3, 2, 7} a := arr[1:5] b := arr[:5] c := arr[1:] d := arr[len(arr) - 1:len(arr) - 0]
fmt.Println(a) fmt.Println(b) fmt.Println(c) fmt.Println(d)
var array = make([]int, 5, 7) fmt.Println(array) fmt.Println("len =", len(array), "\ncap =", cap(array))
arrayAppend := append(array, 1) fmt.Println(arrayAppend)
arrayCopy := make([]int, 3) // 如果len(array_copy) < len(array_append)那么只会复制len(array_copy)个元素 copy(arrayCopy, arrayAppend) fmt.Println(arrayCopy) }
|