//
sliceType
// slice 类型的简单应用与说明
// 首先 slice 通常写成 []type
// make([]type,len)
// make([]type,len,cap)
package main
import (
"fmt"
)
func main() {
//首先,定义一个最简单的 slice
s := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} // 和数组定义的区别,没有指定长度
fmt.Println(s[3]) //输出 4
//基于一个数组创建
var a [5]int = [5]int{1, 2, 3, 4, 5}
sliceA := a[1:3] //数组的一个高级应用: a[n:m] ,首先 0 <= n <= m < len(a), 截取数组从下表 n 开始,m-1 结束
fmt.Println(sliceA) // 输出 [2 3]
//基于一个 slice 创建一个 slice
sliceB := s[3:6]
fmt.Println(sliceB) //输出 [4 5 6]
//使用 make 创建
sliceC := make([]int, 4) //长度为4 ,容量为 4 的 slice
sliceD := make([]int, 4, 5) // 长度为4 ,容量为 5 的 slice
fmt.Println("len(sliceC)=", len(sliceC), ",cap(sliceC)=", cap(sliceC))
fmt.Println("len(sliceD)=", len(sliceD), ",cap(sliceD)=", cap(sliceD))
}