package main import "fmt" func main() { // 1. 声明切片, 切片不是一个值,是一个boxed结构体, array unsafe.Pointer // 数组指针 // 底层数组的长度: 容量10, 当前有几个元素3 slice1 := make([]int, 3, 5) fmt.Println(slice1, len(slice1), cap(slice1)) // 底层数组的长度: 容量10, 当前有几个元素3 slice1 = append(slice1, 4, 5) fmt.Println(slice1, len(slice1), cap(slice1)) // 这里的容器, 不是硬性限制,是超过容量后,底层数组是自动扩容的(重要) // 扩容: 一般是原来的2倍, 新申请一块更大的数组, 把老数据copy过去 slice1 = append(slice1, 6) fmt.Println(slice1, len(slice1), cap(slice1)) }