diff options
Diffstat (limited to 'go/space-age/space_age.go')
-rw-r--r-- | go/space-age/space_age.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/go/space-age/space_age.go b/go/space-age/space_age.go new file mode 100644 index 0000000..249ff90 --- /dev/null +++ b/go/space-age/space_age.go @@ -0,0 +1,27 @@ +package space + +type Planet string + +func Age(seconds float64, planet Planet) float64 { + const earthSeconds float64 = 31557600 + + switch planet { + case "Mercury": + return seconds / (0.2408467 * earthSeconds) + case "Venus": + return seconds / (0.61519726 * earthSeconds) + case "Earth": + return seconds / (1.0 * earthSeconds) + case "Mars": + return seconds / (1.8808158 * earthSeconds) + case "Jupiter": + return seconds / (11.862615 * earthSeconds) + case "Saturn": + return seconds / (29.447498 * earthSeconds) + case "Uranus": + return seconds / (84.016846 * earthSeconds) + case "Neptune": + return seconds / (164.79132 * earthSeconds) + } + return -1 +} |