Goでループを操作するときにBreakおよびContinueステートメントを使用する
序章
Goでforループを使用すると、タスクを自動化して効率的に繰り返すことができます。
ループの操作とフローを制御する方法を学ぶことで、プログラムのロジックをカスタマイズできるようになります。 あなたはあなたのループを制御することができます break
と continue
ステートメント。
ブレークステートメント
Goでは、 break
ステートメントは、現在のループの実行を終了します。 A break
ほとんどの場合、条件付きifステートメントとペアになっています。
を使用する例を見てみましょう break
のステートメント for
ループ:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("Breaking out of loop")
break // break here
}
fmt.Println("The value of i is", i)
}
fmt.Println("Exiting program")
}
この小さなプログラムは、 for
反復するループ i
より少ない 10
.
以内 for
ループ、あります if
声明。 The if
ステートメントは、の状態をテストします i
値がより小さいかどうかを確認する 5
. の値が i
と等しくない 5
、ループが続行され、の値が出力されます。 i
. の値が i
に等しい 5
、ループは実行されます break
ステートメント、それが Breaking out of loop
、ループの実行を停止します。 プログラムの最後に印刷します Exiting program
ループを終了したことを示します。
このコードを実行すると、出力は次のようになります。
OutputThe value of i is 0
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4
Breaking out of loop
Exiting program
これは、整数が一度 i
プログラムが5と同等であると評価されると、ループが中断します。 break
声明。
ネストされたループ
覚えておくことが重要です break
ステートメントは、呼び出された最も内側のループの実行のみを停止します。 ネストされたループのセットがある場合は、必要に応じてループごとにブレークが必要になります。
package main
import "fmt"
func main() {
for outer := 0; outer < 5; outer++ {
if outer == 3 {
fmt.Println("Breaking out of outer loop")
break // break here
}
fmt.Println("The value of outer is", outer)
for inner := 0; inner < 5; inner++ {
if inner == 2 {
fmt.Println("Breaking out of inner loop")
break // break here
}
fmt.Println("The value of inner is", inner)
}
}
fmt.Println("Exiting program")
}
このプログラムでは、2つのループがあります。 両方のループが5回繰り返されますが、それぞれに条件付きのループがあります if
とのステートメント break
声明。 の値が outer
等しい 3
. の値が inner
は 2
.
プログラムを実行すると、次の出力が表示されます。
OutputThe value of outer is 0
The value of inner is 0
The value of inner is 1
Breaking out of inner loop
The value of outer is 1
The value of inner is 0
The value of inner is 1
Breaking out of inner loop
The value of outer is 2
The value of inner is 0
The value of inner is 1
Breaking out of inner loop
Breaking out of outer loop
Exiting program
内側のループが壊れても、外側のループは壊れないことに注意してください。 それの訳は break
呼び出された最も内側のループのみを壊します。
使用方法を見てきました break
ループの実行を停止します。 次に、ループの反復を継続する方法を見てみましょう。
ステートメントを続ける
The continue
ステートメントは、ループの残りの部分をスキップし、ループの先頭に戻って新しい反復を続行する場合に使用されます。
と同じように break
ステートメント、 continue
ステートメントは通常、条件付きで使用されます if
声明。
同じを使用して for
前のBreakStatement セクションのようなループプログラムでは、 continue
ではなくステートメント break
声明:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("Continuing loop")
continue // break here
}
fmt.Println("The value of i is", i)
}
fmt.Println("Exiting program")
}
使用の違い continue
ではなくステートメント break
ステートメントは、変数が中断した場合でもコードは続行されるというものです i
と同等と評価されます 5
. 出力を見てみましょう:
OutputThe value of i is 0
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4
Continuing loop
The value of i is 6
The value of i is 7
The value of i is 8
The value of i is 9
Exiting program
ここでは、その行がわかります The value of i is 5
出力で発生することはありませんが、ループはその後も続き、ループを終了する前に6〜10の数字の行を出力します。
あなたは使用することができます continue
深くネストされた条件付きコードを回避するため、または拒否したい頻繁に発生するケースを排除することによってループを最適化するためのステートメント。
The continue
ステートメントにより、プログラムはループ内で発生する特定の要因をスキップしますが、ループの残りの部分を続行します。
結論
The break
と continue
Goのステートメントを使用すると、 for
コード内でより効果的にループします。