Skip to content

练习 — 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.1make([]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


学习导航

上一篇:Variables and Types · 对应知识文档 · 下一篇:map