`else if` キーワード
CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 36/109。
Goで複数の条件を順番にチェックするために、else ifキーワードを使用する方法を学びましょう。これは、プログラムで3つ以上の結果が必要な場合に便利です。
まず、温度をさまざまな範囲に基づいて分類するプログラムを作成しましょう:
temp := 75
if temp < 50 {
fmt.Println("It's cold")
} else if temp < 80 {
fmt.Println("It's pleasant")
} else {
fmt.Println("It's hot")
}このコードを実行した後、プログラムは画面に "It's pleasant" を表示します。その理由は次の通りです。プログラムはまず temp (75) が 50 未満かどうかをチェックします。これは false であるため、次の条件に移動し、temp が 80 未満かどうかをチェックします。
75は実際に80より小さいため、そのコードブロックが実行され、"It's pleasant" と出力されます。すでに条件が満たされているため、最後の else ブロックはスキップされます。
条件は上から下の順にチェックされ、最初に一致した条件のコードのみが実行されます。一度条件が満たされると、残りの条件は一切チェックされません。
チャレンジ
簡単このチャレンジでは、複数の条件を処理するために else if キーワードを使用する練習をします。
現在の天気を表す文字列を含む変数 weather があります。あなたのタスクは、天候の状態に基づいて異なるメッセージを出力するようにコードを完成させることです。
- もし "sunny" なら、 "Wear sunscreen!" と出力してください。
- もし "rainy" なら、 "Bring an umbrella!" と出力してください。
- もし "cold" なら、 "Wear a jacket!" と出力してください。
- それ以外の天候の場合は、 "Check the forecast!" と出力してください。
チートシート
複数の条件を順番にチェックするには、else if を使用します:
temp := 75
if temp < 50 {
fmt.Println("It's cold")
} else if temp < 80 {
fmt.Println("It's pleasant")
} else {
fmt.Println("It's hot")
}条件は上から順にチェックされ、最初に一致した条件のみが実行されます。条件が満たされると、残りの条件はスキップされます。
自分で試してみよう
package main
import "fmt"
func main() {
// この変数は現在の天候状態を保持します
weather := "rainy"
// TODO: 適切なメッセージを出力するために if-else if-else 文を完成させてください
if weather == "sunny" {
fmt.Println("Wear sunscreen!")
}
// ここにコードを追加してください
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。