Menu
CoddyTech

式を伴う `switch`

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

Goで、各case内で条件を直接評価できるswitch文の式の使い方を学びましょう。

まず、数値が正、負、またはゼロかどうかを確認するために、それぞれのcaseに条件を指定したswitch文の使い方を見てみましょう。

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

このコードを実行すると、プログラムは画面に次のように表示します。

Negative number

その後に値を指定せずに switch { を使っていることに注目してください。これは、Go が各 case 式をブール条件として評価することを意味します。num は -5 なので、2 番目の case num < 0 は true と評価され、「Negative number」と出力されます。

switch文の中で変数を初期化することもできます。どのように動作するか見てみましょう:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

このコードを実行すると、同じ結果が得られます:

Negative number

この例では、numをswitch文の中で直接宣言して初期化しました。セミコロンは初期化とswitch式(ここでは空)を区切ります。これにより、同じ機能を保ちながらコードをより簡潔にできます。

challenge icon

チャレンジ

初心者
このチャレンジでは、Goのシンプルなswitch式の使い方を練習します。switch文を使って、曜日の名前に基づいて説明を決めるコードを完成させましょう。

変数dayNameは、値"Wednesday"で定義済みです。switch式を使って、description変数に次の値を設定してください。
- 月曜日の場合は"Start of the week"
- 水曜日の場合は"Midweek"
- 金曜日の場合は"Almost weekend"
- 土曜日または日曜日の場合は"Weekend"
- それ以外の曜日の場合は"Regular day"

自分で試してみよう

	// TODO: dayName に基づいて description を設定する switch 文を書く
	// Monday の場合: "Start of the week"
	// Wednesday の場合: "Midweek"
	// Friday の場合: "Almost weekend"
	// Saturday または Sunday の場合: "Weekend"
	// それ以外の曜日の場合: "Regular day"
	
	
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Goオンラインコンパイラ