スキップしてメイン コンテンツに移動

Go演算子基礎:++と優先順位

Go演算子基礎:++と優先順位

演算子の基礎

Go言語で計算や条件判定を行う際に不可欠なのが演算子です。演算子は大きく分けて算術演算子、比較演算子、論理演算子、代入演算子に分類されます。算術演算子には +-*/% があり、数値の足し算や掛け算を行います。比較演算子は ==!=<><=>= で、二つの値を比較して真偽値を返します。論理演算子は &&(AND)、||(OR)、!(NOT)で、複数の条件を組み合わせる際に使います。代入演算子は = で、変数に値を格納します。

また、Goではインクリメント演算子 ++ とデクリメント演算子 -- が用意されており、変数の値を 1 ずつ増減させることができます。これらは主にループ処理で頻繁に使用されます。

優先順位と計算の流れ

演算子には優先順位があり、計算の順序を決定します。Goの優先順位は以下のように定義されています。

  • 1. ++--(インクリメント・デクリメント)
  • 2. */%(乗算・除算・剰余)
  • 3. +-(加算・減算)
  • 4. <><=>=(比較)
  • 5. ==!=(等価判定)
  • 6. !(論理NOT)
  • 7. &&(論理AND)
  • 8. ||(論理OR)
  • 9. =(代入)

例えば、3 + 4 * 24 * 2 が先に計算され、結果は 3 + 8 となり、最終的に 11 になります。括弧を使うことで優先順位を明示的に変更できます。

result := (3 + 4) * 2 // 14

実践例:Go初心者のためのサンプル

以下に、Go初心者が演算子を使って簡単な計算と条件判定を行うサンプルコードを示します。コメントで各行の役割を説明しています。

package main

import "fmt"

func main() {
    // 変数宣言と代入
    a := 10
    b := 3

    // 算術演算子
    sum := a + b          // 足し算
    diff := a - b         // 引き算
    prod := a * b         // 掛け算
    quot := a / b         // 割り算(整数除算)
    rem := a % b          // 剰余

    // インクリメント・デクリメント
    a++                   // a を 1 増やす
    b--                   // b を 1 減らす

    // 比較演算子
    isEqual := a == b     // 等しいか
    isGreater := a > b    // a が b より大きいか

    // 論理演算子
    if isEqual && isGreater {
        fmt.Println("a は b と等しく、かつ大きい")
    } else {
        fmt.Println("条件を満たさない")
    }

    // 出力
    fmt.Printf("sum=%d, diff=%d, prod=%d, quot=%d, rem=%d\n", sum, diff, prod, quot, rem)
}

このサンプルでは、算術演算子で基本的な計算を行い、インクリメント・デクリメントで変数を調整し、比較演算子と論理演算子で条件判定をしています。Go初心者はまずこのような単純な例から始め、演算子の優先順位や計算の流れを体感すると良いでしょう。

この記事はAIによって作成されました。

コメント