切片是对数组的引用,切片里面存三个值。
第1个值: 切片初始值在数组当中的地址
第2个值: 切片的长度,就是切片的结束位置和开始位置相减,使用 len()
查看
第3个值: 切片的容量,数组的长度减去起始的位置,使用 cap()
查看
定义一个数组 var num = [5]int{1, 2, 3, 4, 5}
定义两个切片
切片1: var slice1 = num[0:3]
,结果是 [1 2 3],此时数组长度是3,从开始点(索引为0的位置)到数组结束位置长度为5,因此容量为5
切片2:var slice2 = num[2:4]
,结果是 [3 4],此时数组长度是2,从开始点(索引为2的位置)到数组结束位置长度为3
package main
import "fmt"
func main() {
var num = [5]int{1, 2, 3, 4, 5}
var slice1 = num[0:3]
var slice2 = num[2:4]
fmt.Println("slice1的值: ", slice1)
fmt.Printf("slice1的长度%d, 容量:%d\n", len(slice1), cap(slice1))
fmt.Println("slice2的值: ", slice2)
fmt.Printf("slice2的长度%d, 容量:%d", len(slice2), cap(slice2))
}
/*
slice1的值: [1 2 3]
slice1的长度3, 容量:5
slice2的值: [3 4]
slice2的长度2, 容量:3
*/
网友评论