一 切片初始化语法 var slice = arr[startIndex:endIndex]
从 arr 数组下标为 startIndex,取到 下标为 endIndex 的元素(不含 arr[endIndex])。
二 切片初始化时,仍然不能越界。范围在 [0,len(arr))之间,但是可以动态增长
var slice = arr[0:end] // 可以简写为 var slice = arr[:end]
var slice = arr[start:len(arr)] // 可以简写为 var slice = arr[start:]
var slice = arr[0:len(arr)] // 可以简写为 var slice = arr[:]
三 cap 是一个内置函数,用于统计切片的容量,即最大可以存放多少个元素
四 切片定义完后,还不能使用,因为本身是一个空的,需要让其引用到一个数组,或者 make 一个空间供切片来使用
五 切片可以继续切片
1 代码
package main
import (
"fmt"
)
func main() {
// 使用常规的 for 循环遍历切片
var arr [5]int = [...]int{10, 20, 30, 40, 50}
slice := arr[1:4] // 20, 30, 40
//for i := 0; i < len(slice); i++ {
// fmt.Printf("slice[%v]=%v ", i, slice[i])
//}
fmt.Println()
//