◾️switch文
switch文とは、条件分岐処理で使用される構文である。
switch文は、if文と違い、変数や式の値をいくつか列挙して、それらの値にヒットしたときの処理を指定するというものである。
※if-else-if文でも可能だが、冗長でバグが発生する可能性や、処理が遅い可能性も懸念される為、switch文が使用される。
(記載ルール)
switch 値または式 {
case 値1:
値1のときの処理
case 値2:
値2のときの処理
case 値3:
値3のときの処理
default:
上記の値1,2,3以外の場合の処理
}
(例)
switch 2 {
case 1:
print("1")
case 2:
print("2")
case 3:
print("3")
default:
print("1,2,3以外")
}
複数の値に同じ処理を行いたい場合には、caseの後ろに値を列挙する。
(記載ルール)
switch 値または式 {
case 値1 , 値2:
値1か値2のときの処理
case 値3:
値3のときの処理
default:
上記の値1,2,3以外の場合の処理
}
(例)
switch 2 {
case 1, 2:
print("1または2")
case 3:
print("3")
default:
print("1,2,3以外")
}
caseにヒットした場合、そのままでは、次のcaseは無視される。
caseにヒットした後、その後のcaseの処理も実行したい場合には、明示的にfallthroughを指定する必要がある。
以下の例で、値1がヒットしたとき、「値1のときの処理」を実行した後、「値2のときの処理」も実行される。
「値3のときの処理」は、「値2のときの処理」の後に「fallthrough」が無いため実行されない。
(記載ルール)
switch 値または式 {
case 値1:
値1のときの処理
fallthrough
case 値2:
値2のときの処理
case 値3:
値3のときの処理
default:
上記の値1,2,3以外の場合の処理
}
(例)
switch 1 {
case 1:
print("1")
fallthrough
case 2:
print("2")
case 3:
print("3")
default:
print("1,2,3以外")
}