技術ブログ

プログラミング、IT関連の記事中心

switch文【Swift】

◾️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以外")
}