Go演算子基礎:++と優先順位
演算子の基礎
Go言語で計算や条件判定を行う際に不可欠なのが演算子です。演算子は大きく分けて算術演算子、比較演算子、論理演算子、代入演算子に分類されます。算術演算子には +、-、*、/、% があり、数値の足し算や掛け算を行います。比較演算子は ==、!=、<、>、<=、>= で、二つの値を比較して真偽値を返します。論理演算子は &&(AND)、||(OR)、!(NOT)で、複数の条件を組み合わせる際に使います。代入演算子は = で、変数に値を格納します。
また、Goではインクリメント演算子 ++ とデクリメント演算子 -- が用意されており、変数の値を 1 ずつ増減させることができます。これらは主にループ処理で頻繁に使用されます。
優先順位と計算の流れ
演算子には優先順位があり、計算の順序を決定します。Goの優先順位は以下のように定義されています。
- 1.
++、--(インクリメント・デクリメント) - 2.
*、/、%(乗算・除算・剰余) - 3.
+、-(加算・減算) - 4.
<、>、<=、>=(比較) - 5.
==、!=(等価判定) - 6.
!(論理NOT) - 7.
&&(論理AND) - 8.
||(論理OR) - 9.
=(代入)
例えば、3 + 4 * 2 は 4 * 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初心者はまずこのような単純な例から始め、演算子の優先順位や計算の流れを体感すると良いでしょう。
コメント
コメントを投稿