Menu
Coddy logo textTech

演算子の優先順位の基本

CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 27/109。

演算子の優先順位は、式の中で演算が実行される順序を決定します。優先順位の高い演算は、優先順位の低い演算よりも先に実行されます。

演算子の優先順位を示すプログラムを作成してください:

result1 := 5 + 3 * 2
result2 := (5 + 3) * 2
fmt.Println("5 + 3 * 2 =", result1)
fmt.Println("(5 + 3) * 2 =", result2)

次のように出力されます:

5 + 3 * 2 = 11
(5 + 3) * 2 = 16

最初の式では、乗算 (*) は加算 (+) よりも優先順位が高いため、3 * 2 が先に計算されます。2番目の式では、括弧がデフォルトの優先順位を上書きするため、5 + 3 が強制的に先に計算されます。

challenge icon

チャレンジ

初心者

このチャレンジでは、Goにおける演算子の優先順位の理解を練習します。異なる値を持ついくつかの変数があり、期待される出力を得るために result 変数の式を修正する必要があります。

現在、式の括弧の位置が正しくありません。あなたのタスクは、式が true と評価されるように、適切な場所に括弧を追加することです。

チートシート

演算子の優先順位は、式の中で演算が実行される順序を決定します。優先順位の高い演算は、優先順位の低い演算よりも先に実行されます。

乗算 (*) は加算 (+) よりも優先順位が高くなります:

result1 := 5 + 3 * 2  // 11に等しい(最初に 3 * 2、次に + 5)
result2 := (5 + 3) * 2  // 16に等しい(最初に 5 + 3、次に * 2)

括弧を使用してデフォルトの優先順位を上書きし、演算の順序を制御します。

自分で試してみよう

package main

import "fmt"

func main() {
	// これらの変数はあらかじめ用意されています
	a := true
	b := false
	c := true
	
	// TODO: 以下の式が true と評価されるように、括弧を追加してください
	// HINT: 式が true と評価される必要があります
	result := a && b || c
	
	// 以下の行は変更しないでください
	fmt.Println(result)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン