Skip to content

练习 — map

对应文档:docs/phase-01-fundamentals/map.md 代码目录:workspace/phase-01/map-demo/

Level 1 — 基础

1.1 make(map[string]int) 存储 AGV 电量,设置 3 台设备,range 打印。

1.2v, ok := m[key] 查询存在/不存在的 key。

1.3 尝试对 nil map 赋值,记录 panic 信息。

Level 2 — 应用

2.1 map[string]bool 记录设备在线状态,统计在线数量。

2.2 map[string]AGV 存 struct 值,修改某 AGV 速度(注意值拷贝问题)。

2.3 改用 map[string]*AGV,对比修改行为差异。

Level 3 — 综合

3.1 合并两个 map(设备状态),后者覆盖前者同名 key。

3.2 按 key 排序输出 map(hint: sort.Strings on keys)。

Level 4 — 项目实践

4.1 device_registry.go:DeviceRegistry 用 map 管理 AGV,提供 Register、Get、ListOnline、Remove,go run . 演示。

学习检查

  • [ ] nil map 能赋值吗?
  • [ ] 值 map vs 指针 map 修改区别?

提交:检查答案 — map 练习 X.X


学习导航

上一篇:array 与 slice · 对应知识文档 · 下一篇:struct