経緯
最近Goのプロジェクトに間接的に関わっている。
自分はほとんどGo書かないのだけれど、楽しそうだし、Goは非常にロックだと聞いているし入門することにした。
Goといえばやっぱりヒロミゴーなのは2億4千万人の間でコンセンサスがとれていると思うので、エキゾチック・ジャパンなFizzBuzzを書いた。
5がつく数字で「Exotic」、5の倍数で「Japan」、両立したら「Exotic Japan」するようになっている。
こんな感じ
ヒロミゴー的なロックを求めるならばやっぱり2億5千万で行きましょう。
Enter integer: 250000000
コード
コードはこんな感じになった。
hiromi.go
package main
import (
"fmt"
"strconv"
)
func main() {
fmt.Print("Enter integer: ")
var input int
fmt.Scanf("%d", &input)
for i := 1; i <= input; i++ {
fizzbuzz(i)
}
}
func isFiveIncluded(num int) bool {
var strInt = strconv.Itoa(num)
for k := 0; k < len([]rune(strInt)); k++ {
if '5' == strInt[k] {
return true
}
}
return false
}
func fizzbuzz(i int) {
exotic := "Exotic"
japan := "Japan"
if isFiveIncluded(i) && i%5 == 0 {
fmt.Println(i, exotic+" "+japan)
} else if isFiveIncluded(i) {
fmt.Println(i, exotic)
} else if i%5 == 0 {
fmt.Println(i, japan)
} else {
fmt.Println(i)
}
}
コードはGitHubにあるよ。
kmagai/hiromigo-in-golang