Skip to content

练习 — 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


学习导航

上一篇:pointer · 对应知识文档 · 下一篇:Go Interface