値で分岐
条件(if)ではなく、式の値で処理を分岐する場合はswitch文を使用する。
書式
switch 式 {
case 値1:
ステートメント1
case 値2:
ステートメント2
case 値3, 値4, 値5:
ステートメント3
default:
ステートメント4
}
let nowSingnal = "green" switch nowSignal { case "green": printf("進むことができます。") case "red": printf("止まります。") case "yellow": printf("止まります。但し安全に止まれない時は進むことができます") default: printf("信号が故障しているかもしれません。") }
レンジ演算子で分岐
let classRoom = 10 switch classRoom { case (1...4): print("1組から4組の方は3階に集合してください。") case (5,(10...12)): print("5組と10組から12組の方は2階に集合してください。") default: print("1階に集合してください。") }
タプルを利用した分岐
switch文はタプルも利用できます。
(_)ワイルドカードも使える。
バリューバインディング
評価する値を定数や変数で受け取ることが出来る。
(_)ワイルドカードも使える。