From a9ae4ebc6006271fc0e95626e0c95e6b9cc786de Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 28 Aug 2016 14:41:56 +0200 Subject: Solve robot --- go/robot-name/robot_name.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 go/robot-name/robot_name.go (limited to 'go/robot-name/robot_name.go') diff --git a/go/robot-name/robot_name.go b/go/robot-name/robot_name.go new file mode 100644 index 0000000..6230e1c --- /dev/null +++ b/go/robot-name/robot_name.go @@ -0,0 +1,33 @@ +package robotname + +import ( + "math/rand" + "time" +) + +func init() { + rand.Seed(time.Now().UnixNano()) +} + +type Robot struct { + name string +} + +func randLetter() string { return string('A' + rand.Intn(26)) } +func randNumber() string { return string('0' + 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 = "" +} -- cgit v1.2.3