本記事ではSwiftのswitch文の使い方についてみていきます。
環境: Swift5.0
目次
switch文でできること: 条件分岐
SwiftのSwitch文はif文のように、処理を条件に分けて行うことができます。
では使い方をみていきましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
let number = 2 switch number { case 0: print("数字は0です") case 1: print("数字は1です") case 2: print("数字は2です") default: print("数字は0,1,2全て違います") } 結果: 数字は2です |
numberという数字に対して条件分けしています。
switch 〇〇
〇〇の部分に条件分岐する対象を置きます。
case 〇〇
〇〇の後に条件を書きます。
defaultは全ての条件が当てはまらない時に使われます。defaultは必須なので必ずつけます。
範囲を指定する場合
switch文は範囲を指定することもできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
let number = 19 switch number { case 0: print("数字は0です") case 1..<11: print("数字は1から10です") case 11..<21: print("数字は11から20です") default: print("どれも当てはまりません") } 結果:数字は11から20です |
0か1など複数の値を条件にする場合
1 2 3 4 5 6 7 8 9 10 11 12 |
let number = 1 switch number { case 0,1: print("数字は0か1です") case 2: print("数字は2です") default: print("数字は0,1,2全て違います") } |
0か1の場合と2の場合で条件分岐しています。
if文との違い
if文でもswitch文と同じように条件分岐の処理を行うことができます。
いかにswitch文とif文で全く同じ処理を書きます。
if文
1 2 3 4 5 6 7 8 9 10 11 12 |
let number = 1 if number == 0 || number == 1 { print("数字は0か1です") } else if number == 2 { print("数字は2です") } else { print("数字は0,1,2全て違います") } //結果: 数字は0か1です |
switch文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
let number = 1 switch number { case 0,1: print("数字は0か1です") case 2: print("数字は2です") default: print("数字は0,1,2全て違います") } //結果: 数字は0か1です |
switch文は読みやすい
上のif文とswitch文を比較すると、if文は何度もnumberと書かなきゃいけなかったりと、switch文に比べて読みにくいです。
まとめ
ここまででswitch文の使い方をみてきました。
switch文は条件分岐ができる
if文との違いは読みやすさ・シンプルさ
参考: