コンテンツにスキップ

Go/if

出典: フリー教科書『ウィキブックス(Wikibooks)』
< Go

Goにおける if キーワードは、条件分岐を行うための制御構造です。指定された条件式が真 (true) と評価された場合に、特定のコードブロックを実行します。

基本的な構文は以下の通りです。

if 条件式 {
    // 条件式が真の場合に実行されるコード
}

if 文の特徴:

  • 括弧の省略: Goでは、条件式を囲む括弧 () は不要です。
  • 波括弧の必須: 実行するコードブロックは必ず波括弧 {} で囲む必要があります。
  • elseelse if: if 文に加えて、条件が偽 (false) の場合に別の処理を実行するための else ブロックや、複数の条件を順に評価するための else if ブロックを使用できます。
if 条件式1 {
    // 条件式1が真の場合に実行されるコード
} else if 条件式2 {
    // 条件式1が偽で、条件式2が真の場合に実行されるコード
} else {
    // どの条件式も真でなかった場合に実行されるコード
}
  • 初期化ステートメント: if 文の中で、条件式を評価する前に実行する初期化ステートメントを記述できます。これは、if ブロック内でのみ有効な変数を宣言する際に便利です。
if 変数 := 初期値; 条件式 {
    // 変数と条件式が評価され、条件式が真の場合に実行されるコード
    // 変数はこのブロック内でのみ有効
}

例:

package main

import "fmt"

func main() {
    age := 20

    if age >= 18 {
        fmt.Println("成人です。")
    } else {
        fmt.Println("未成年です。")
    }

    score := 75
    if score >= 90 {
        fmt.Println("優")
    } else if score >= 70 {
        fmt.Println("良")
    } else if score >= 50 {
        fmt.Println("可")
    } else {
        fmt.Println("不可")
    }

    if x := 10; x > 5 {
        fmt.Println("xは5より大きいです。", x)
    }
}

このように、if キーワードはGoプログラムの制御フローにおいて、条件に応じて異なる処理を実行するために不可欠な要素です。