演算子の優先順位の基本
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 が強制的に先に計算されます。
チャレンジ
初心者このチャレンジでは、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)
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。