第 22-1章:Slice Make(切片创建)
2025-10-08 本文已影响0人
红尘丶
1. 章节简介
- 使用
make创建切片,可以指定长度和容量,更高效控制内存。
2. 知识点讲解
- 基本语法
s := make([]int, length, capacity)
-
length→ 当前元素数量 -
capacity→ 底层数组容量 - 追加元素
s = append(s, 1,2,3)
- 当长度超过容量时,底层数组会自动扩容
3. 代码示例
package main
import "fmt"
func main() {
s := make([]int, 3, 5) // 长度3,容量5
fmt.Println("Initial slice:", s, "len:", len(s), "cap:", cap(s))
s[0] = 10
s[1] = 20
s[2] = 30
fmt.Println("After assigning:", s)
s = append(s, 40, 50)
fmt.Println("After append:", s, "len:", len(s), "cap:", cap(s))
s = append(s, 60) // 自动扩容
fmt.Println("After exceeding capacity:", s, "len:", len(s), "cap:", cap(s))
}
4. 练习任务
- 用
make创建长度 4,容量 6 的切片,并赋值。 - 追加多个元素,观察容量变化。
- 打印每次操作后的长度和容量。
5. 小结
-
make创建切片并指定容量,避免频繁扩容。 - 切片长度与容量不同,追加超出容量会自动扩容。