管理机器人的出厂设置。
机器人刚走下生产线时,还没有名字。
第一次启动机器人时,会随机生成一个名字,格式为两个大写字母后跟三个数字,例如 RX837 或 BC811。
偶尔我们需要把机器人重置为出厂设置,这意味着它的名字会被清除。 下次你再询问时,这个机器人会给出一个新的随机名字。
名字必须是随机的:不能遵循可预测的序列。 使用随机名字意味着存在名字冲突的风险。 你的解答必须确保每个已存在的机器人都有独一无二的名字。
机器人名字是可能用完的。一旦所有可能的机器人名字都已分配出去,就应当返回一个错误。
当你让 go test 通过之后,你会发现测试套件里有一个名为 TestCollisions 的测试,它默认会被跳过,因为可能要花很长时间。
这个测试会不断创建新的机器人,直到再也不能给机器人分配新的名字为止。
要让这个测试运行起来,请删掉这一行:
t.Skip("skipping test as it can take a long time to run if solution is sub-optimal.")
要让这个测试通过,你必须确保机器人的名字之前没有被用过,并且名字能够被高效地分配。