package robotname import ( "math/rand" "time" ) func init() { rand.Seed(time.Now().UnixNano()) } type Robot struct { name string } func randLetter() string { return string('A' + rune(rand.Intn(26))) } func randNumber() string { return string('0' + rune(rand.Intn(10))) } func newName() string { return randLetter() + randLetter() + randNumber() + randNumber() + randNumber() } func (r *Robot) Name() string { if r.name == "" { r.name = newName() } return r.name } func (r *Robot) Reset() { r.name = "" }