Go言語(GoLang) FizzBuzz 問題挑戦

先日、初めてVBScriptで、FizzBuzzのプログラムを書いてみました。

しすろぐ -FizzBuzzタグ-

VBS FizzBuzz問題挑戦

今回は、最近勉強しているGo言語(GoLang)で、FizzBuzzを実装してみたいと思います。

 


FizzBuzz問題について

FizzBuzz問題の一般的な仕様は以下の通りです。

■wikiより引用

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. The Go Programming Language Specification
  2. プログラミング言語Goの情報サイト

1は、公式のGo言語(GoLang)マニュアルとなります。

2も基本的には、1の翻訳して見やすくまとめて下さっている内容のようです。

Go言語(GoLang)の情報サイトは、少ない印象ですが、

この2つを見ていれば、大体の書き方は理解することが出来ます。

また、公式のところで、チュートリアルツアーもあるので、

こちらを実施すれば、全般的な構文の学習を行えると思います。

公式:A Tour of Go (Go言語基礎文法最速マスター)

 

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 171

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る