外观
练习 — method
对应文档:
docs/phase-01-fundamentals/method.md代码目录:workspace/phase-01/method/
Level 1 — 基础
1.1 为 AGV 定义值接收者 String() string method。
1.2 定义指针接收者 SetSpeed(s float64) method,验证修改生效。
1.3 解释值接收者 SetSpeed 为何不修改原对象。
Level 2 — 应用
2.1 Move(dx, dy float64) 指针接收者更新坐标。
2.2 DistanceToOrigin() float64 值接收者(不修改状态)。
2.3 IsOverspeed(max float64) bool method。
Level 3 — 综合
3.1 AGV 完整 method set:String、Move、SetSpeed、IsOverspeed、DistanceToOrigin,统一使用指针接收者。
3.2 对 nil *AGV 调用 method,在 method 内做 nil 检查。
Level 4 — 项目实践
4.1 agv.go:完整 AGV 类型 + method,main 模拟:创建 → 移动 → 加速 → 检测超速 → 打印状态,go run . 运行。
学习检查
- [ ] 值 vs 指针接收者选择?
- [ ] 同一类型 method 接收者一致性?
提交:检查答案 — method 练习 X.X