先日、初めてVBScriptで、FizzBuzzのプログラムを書いてみました。
今回は、最近勉強しているGo言語(GoLang)で、FizzBuzzを実装してみたいと思います。
FizzBuzz問題について
FizzBuzz問題の一般的な仕様は以下の通りです。
3で割り切れる場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない
こちらの仕様に加えて、Fizz・Buzz・FizzBuzzの時も、数字表示を補足表示しようと思います。
↓作成したコード
package main import ( "fmt" "strconv" ) func main() { doFizzBuzz() } func doFizzBuzz() { for i := 1; i <= 100; i++ { if i%3 == 0 && i%15 == 0 { fmt.Println("FizzBuzz : " + strconv.Itoa(i)) } else if i%3 == 0 { fmt.Println("Fizz : " + strconv.Itoa(i)) } else if i%5 == 0 { fmt.Println("Buzz : " + strconv.Itoa(i)) } else { fmt.Println(i) } } }
今回も特に特徴の無いコードとなります。
Go言語(GoLang)は、autoboxingが存在しないんですね。
番号を表示するのに、素直に型変換(数字⇒文字)をstrconv.Itoa(i)で行っています。
まだまだ、Go言語(GoLang)は勉強中なので、構文を調べながらコードを書きました。
どこを参考にしたら良いかよくわかりませんでしたが、
以下を参考にさせて頂きました。
1は、公式のGo言語(GoLang)マニュアルとなります。
2も基本的には、1の翻訳して見やすくまとめて下さっている内容のようです。
Go言語(GoLang)の情報サイトは、少ない印象ですが、
この2つを見ていれば、大体の書き方は理解することが出来ます。
また、公式のところで、チュートリアルツアーもあるので、
こちらを実施すれば、全般的な構文の学習を行えると思います。
公式:A Tour of Go (Go言語基礎文法最速マスター)