囲碁言語switch条件文の基本的な使い方と例文詳細
2022-01-06 17:03:11
概要
- 渡された条件によって異なる文が実行される
- 各ケースブランチは一意であり、一致するまで上から下へ1つずつテストされます。
構文
最初の[式によるスイッチ]は
switch expression {
case expression1,expression2, ... :
Statement block 1
case expression3, expression4, ... :
statement name block 2
default.
statement block
}
2枚目【無表情スイッチ
switch {
case expression1,expression2, ... :
statement block 1
case expression3, expression4, ... :
statement name block 2
default.
statement block
}
3つ目の【スイッチの初期化、式】について
switch initialization; expression {
case expression1,expression2, ... :
Statement block 1
case expression3, expression4, ... :
statement name block 2
default.
statement block
}
備考
- デフォルトで各ケースが壊れる
- ブレークなし+フォールスルー
- パニックがエラーを報告する
- スイッチの後に何も表現しないことも可能
- switch は初期化ステートメントをサポートしていますが、それらはセミコロンで終了する必要があることに注意してください
- caseの後の値は一意である
例1[今日の日付から今日の曜日を表示する
func printWeekday() {
day := time.Now().Weekday() //need to import time
fmt.Printf("%s", "Today")
switch int(day) {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
case 4:
fmt.Println("Thursday")
case 5:
fmt.Println("Friday")
case 6, 7:
fmt.Println("Sunday")
}
}
例2[分数に基づいてA,B,C,Dを表示する]の場合
func printScores() {
fmt.Println()
fmt.Println("Print A,B,C,D" based on scores)
scores := 0
fmt.Println("Please enter scores")
fmt.Scanf("%d", &scores)
fmt.Printf("score level:")
switch {
case scores > 90:
fmt.Println("A")
case scores > 80, scores > 70:
fmt.Println("B")
case scores > 60:
fmt.Println("c")
case scores > = 10:
fmt.Println("D")
default:
fmt.Println("Do you have scores")
}
}
例3 [カウント]の場合
func printEval() {
fmt.Println()
fmt.Println("three, arithmetic")
var num1, num2 int
fmt.Println("Please enter the first number: ")
fmt.Scan(&num1)
fmt.Println("Please enter the second number: ")
fmt.Scan(&num2)
var op string
fmt.Println("Please enter the symbol [+ - * /] ")
fmt.Scan(&op)
fmt.Printf("%d%s%d=%d", num1,op, num2, eval(num1, num2, op))
}
func eval(a, b int, op string) int {
var result int
switch op {
case "+":
result = a + b
case "-":
result = a - b
case "*":
result = a * b
case "/":
result = a / b
default:
panic("unsupported operator:" + op)
}
return result
}
以上、Go言語基本スイッチ条件文の基本的な使い方と例の詳細でしたが、Go言語条件文の詳細については、スクリプトハウスの他の関連記事にもご注目ください
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン