1. ホーム
  2. スクリプト・コラム
  3. ゴラン

Goのfoループと条件判定

2022-02-14 06:20:25

I. Forループ

Go言語には while ループで、ただ for ループ

for variable initialize;condition;variable self-increment/decrement {
    Contents of the loop body
}



1. 基本的な使用方法

for i := 0; i < 10; i++ {
   fmt.Println(i)
}



2. 最初の部分を省略

i := 0
for ; i < 10; i++ {
   fmt.Println(i)
}



3. 1番目と3番目の部分を省略(これはwhileループです) for condition { loop body content }.

i := 0
for i < 10 {
   fmt.Println(i)
   i++
}



4.デッドループ

for {
    fmt.Println("dead loop")
}



5. 公開マルチコラボレーションデモ

for i := 0; i < 2000; i++ {
   go test()
}

func test() {
 for {
  fmt.Println("dead loop")
 }
}


6.休憩

<ブロッククオート

このforループを終了し、次のループへ進む このループを終了し、次のループへ進む

II. Switchステートメント

Switch は、式の値をマッチする可能性のあるリストと比較し、 マッチした内容に基づいて適切なコードブロックを実行する条件文です。 if else 一般的な使用方法として

1. 基本的な使用方法

num := 4
switch num {
case 1:
   fmt.Println("1")
case 2:
   fmt.Println("2")
case 3:
   fmt.Println("3")
case 4:
   fmt.Println("4")
}

// Output
4


2. デフォルト(どれも一致しない)

num := 5
switch num {
case 1:
   fmt.Println("1")
case 2:
   fmt.Println("2")
case 3:
   fmt.Println("3")
case 4:
   fmt.Println("4")
default:
   fmt.Println("None of them match")
}

// Output
None of them match


3. 多式判定

num := 44
switch num {
case 11, 12, 13, 14:
   fmt.Println("1")
case 21, 22:
   fmt.Println("2")
case 31, 33:
   fmt.Println("3")
case 40, 43, 44:
   fmt.Println("4")
default:
   fmt.Println("None of them match")
}

// Output
4


4. 無表情で切り替える

num := 44
switch {
case num == 11, num == 12:
   fmt.Println(11, 12)
case num == 40, num == 44:
   fmt.Println(40, 44)
}

// Output
40 44


5. フォールスルー

<ブロッククオート

を見るだけで、スルー。 fallthrough を無条件に実行し、次の case または

default 
num := 12
switch {
case num == 11, num == 12:
   fmt.Println(11, 12)
   fallthrough
case num == 40, num == 44:
   fmt.Println(40, 44)
   fallthrough
default:
   fmt.Println("no match")
}

// Output
11 12
40 44
No match

num := 12
switch {
case num == 11, num == 12:
   fmt.Println(11, 12)
   fallthrough
case num == 40, num == 44:
   fmt.Println(40, 44)
   fallthrough
default:
   fmt.Println("no match")
}

// Output
11 12
40 44
No match


Go言語のfoループと条件判断に関する記事は以上です。Go言語のループと条件判断については、スクリプトハウスの過去記事を検索していただくか、引き続き以下の関連記事をご覧ください。