外观
练习 — array 与 slice
对应文档:
docs/phase-01-fundamentals/array-slice.md代码目录:workspace/phase-01/slice/
Level 1 — 基础
1.1 创建 []string 存储 3 个 AGV ID,append 第 4 个,range 打印。
1.2 声明 [3]float64 array 和 []float64 slice,解释类型为何不兼容。
1.3 对 slice 做 s[1:3] 切片,打印 len 和 cap。
Level 2 — 应用
2.1 用 make([]float64, 0, 5) 存储 5 个速度值,观察 append 时 cap 变化。
2.2 复制 slice:copy(dst, src) 避免共享底层数组,验证修改 dst 不影响 src。
2.3 过滤超速 AGV:从 speeds slice 找出 > 2.0 的索引。
Level 3 — 综合
3.1 模拟 AGV 路径 []struct{X,Y float64},计算路径总长度。
3.2 合并两个设备 ID slice 并去重(不用 map,Phase 01 可用双重循环)。
Level 4 — 项目实践
4.1 path_tracker.go:维护 AGV 路径点 slice,提供 AddPoint、GetPath、PathLength method/函数,go run . 演示。
学习检查
- [ ] array vs slice 类型区别?
- [ ] append 为何需要接收返回值?
提交:检查答案 — slice 练习 X.X