外观
练习 — map
对应文档:
docs/phase-01-fundamentals/map.md代码目录:workspace/phase-01/map-demo/
Level 1 — 基础
1.1 make(map[string]int) 存储 AGV 电量,设置 3 台设备,range 打印。
1.2 用 v, 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