Conditional Chaining
メニューを表示するにはスワイプしてください
else if キーワードを使用することで、前の条件が満たされなかった場合に評価される追加の条件を定義可能。
index.go
12345678910package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 2) { fmt.Println("3 is greater than 2") } }
上記のプログラムでは、最初に式 3 > 4 が評価され、これは false となるため、プログラムは 3 > 2 キーワードで定義された次の文(else if)に進む。次の条件は true となるため、2 番目の Println 文の結果が出力される。
else if 文を使うことで、必要に応じて追加の条件をいくつでも追加可能。
index.go
1234567891011121314package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 3) { fmt.Println("3 is greater than 3") } else if (3 > 2) { fmt.Println("3 is greater than 2") } else if (3 > 1) { fmt.Println("3 is greater than 1") } }
上記のプログラムは、次の条件も 3 is greater than 2 であるにもかかわらず、true のみを出力する点に注意が必要です。これは、if-else if チェーンが最初に true となる条件に出会った時点で評価を停止することを示しています。
このプロセスは条件チェーン(conditional chaining)と呼ばれ、if-else if キーワードを使って条件を連鎖的に定義しているためです。
注意
条件チェーンでは、条件を満たす1つのコードブロックのみが実行され、残りはスキップされます。
また、if-else if の組み合わせで条件を連鎖させる代わりに、それぞれの条件を個別の if 文で記述することもできます。しかし、この方法では出力が異なります。なぜなら、もはや単一のチェーンではなく、独立した複数の条件となるため、いずれかの条件が満たされても実行が停止しないからです。
index.go
1234567891011121314151617package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } if (3 > 3) { fmt.Println("3 is greater than 3") } if (3 > 2) { fmt.Println("3 is greater than 2") } if (3 > 1) { fmt.Println("3 is greater than 1") } }
これまでのところ、簡単にするためにブール式には値を使用してきました。しかし、実際にはブール式で変数や変数と値の組み合わせを使うことが一般的です。
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
条件分岐の連鎖では、else キーワードを使うことで、どの条件にも当てはまらない場合に実行されるコードブロックを示すことができます。
index.go
12345678910111213package main import "fmt" func main() { var value int = 70 if (value < 50) { fmt.Println("The value is less than 50") } else if (value == 50) { fmt.Println("The value is equal to 50") } else { fmt.Println("The value is greater than 50") } }
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください