From dea0ce8b414f72b60d3b7d0a9c8ac72296e8705d Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 22 Sep 2018 15:19:00 +0200 Subject: solve space-age --- go/space-age/space_age.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 go/space-age/space_age.go diff --git a/go/space-age/space_age.go b/go/space-age/space_age.go new file mode 100644 index 0000000..a03faef --- /dev/null +++ b/go/space-age/space_age.go @@ -0,0 +1,27 @@ +package space + +// Planet name +type Planet string + +// seconds in Earth year +const year = 31557600 + +// scale year duration compared to Earth +var scale = map[Planet]float64{ + "Earth": 1.0, + "Mercury": 0.2408467, + "Venus": 0.61519726, + "Mars": 1.8808158, + "Jupiter": 11.862615, + "Saturn": 29.447498, + "Uranus": 84.016846, + "Neptune": 164.79132, +} + +func Age(seconds float64, p Planet) float64 { + factor, ok := scale[p] + if !ok { + return 0.0 + } + return seconds / year / factor +} -- cgit v1.2.3