1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラム入門:プログラミング初心者向け!Go言語でFizzBuzzを作ってみた

Posted at

はじめに

FizzBuzzは、プログラミングの基本的な課題の一つとして知られています。

この記事では、Go言語を使ってFizzBuzzを実装し、その基本的な考え方を解説します。

書こうと思ったきっかけ

Go言語を学び始めたばかりの方が基本的な構文や制御フローに慣れるための題材として、FizzBuzzは非常に適しています。

特に、forループやif文の使い方を学ぶのに最適な例であり、シンプルながらも実際のプログラミングに必要な考え方を学べます。

FizzBuzzとは?

FizzBuzzのルールは以下の通りです。

  1. 1から指定した数(例:100)までの数字を順に出力する。
  2. その数が3で割り切れる場合は"Fizz"と表示する。
  3. その数が5で割り切れる場合は"Buzz"と表示する。
  4. その数が3と5の両方で割り切れる場合は"FizzBuzz"と表示する。
  5. それ以外の場合はその数をそのまま表示する。

Go言語での実装

以下にGo言語でFizzBuzzを実装するコードを示します。

fizzbuzz.go
package main

import "fmt"

func main() {
    for i := 1; i <= 100; i++ {
        if i%3 == 0 && i%5 == 0 {
            fmt.Println("FizzBuzz")
        } else if i%3 == 0 {
            fmt.Println("Fizz")
        } else if i%5 == 0 {
            fmt.Println("Buzz")
        } else {
            fmt.Println(i)
        }
    }
}

コードの解説

  1. forループを使って1から100までの数を順番に処理します。
  2. if文を使って条件分岐を行います。
    • i%3 == 0 && i%5 == 0 の場合は "FizzBuzz" を出力。
    • i%3 == 0 の場合は "Fizz" を出力。
    • i%5 == 0 の場合は "Buzz" を出力。
    • それ以外の場合は数値そのものを出力。

実行方法

このプログラムを実行するには、Goがインストールされている環境で以下の手順を行います。

  1. 任意のディレクトリにfizzbuzz.goという名前でファイルを作成し、上記のコードを記述します。
  2. ターミナルまたはコマンドプロンプトを開き、ファイルのあるディレクトリに移動します。
  3. 以下のコマンドを実行します。
go run fizzbuzz.go

これにより、FizzBuzzの出力がターミナル上に表示されます。

実際のターミナル画面

Screenshot 2025-03-16 at 19.46.47.png

まとめ

Go言語を使ったFizzBuzzの実装はシンプルで、基本的な制御構文(forループ、if文)を理解するのに適しています。Goのシンプルな構文を活かして、短く明快なコードを書くことができます。

次のステップとして、関数化してより汎用的なFizzBuzzを作成することも考えられます。

例えば、数の範囲を変更できるように関数を作るのも良い練習になります。

ぜひGo言語でのFizzBuzzを試してみてください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?