Go言語のfallthroughの動作は何ですか?
Go言語では、fallthroughキーワードは、あるcaseが実行された後、次のcaseのコードブロックを続けて実行するために使用されます。次のcaseの条件を確認する必要はありません。通常、switch文を使用する際、特定のcaseが条件を満たすと、そのcaseのコードブロックが実行された後、自動的にswitch文から抜け出し、次のcaseを実行しません。しかし、fallthroughキーワードを使うと、このデフォルトの動作をオーバーライドし、条件を満たしたcaseの実行後、次のcaseのコードブロックを続けて実行することができます。
以下は、fallthroughキーワードを使用した例です。
package main
import "fmt"
func main() {
num := 2
switch num {
case 1:
fmt.Println("Num is 1")
fallthrough
case 2:
fmt.Println("Num is 2")
fallthrough
case 3:
fmt.Println("Num is 3")
}
}
例を挙げると、numの値が2の場合、case 2のコードブロックが実行された後、fallthroughキーワードが使用されているため、次のcaseのコードブロックが実行され、出力結果は次のとおりです:
Num is 2
Num is 3
fallthroughキーワードは、switch文内でのみ使用可能であり、かつcaseのブロックの末尾にのみ出現することができる点に注意する必要があります。