Swift switch 文
switchswitch文は、1つの変数が複数の値と等しい場合をテストできます。Swift言語では、case文にマッチすると、switch文全体の実行が完了します。
構文
Swift言語におけるswitch文の構文:
switch expression {
case expression1 :
statement(s)
fallthrough /* 可选 */
case expression2, expression3 :
statement(s)
fallthrough /* 可选 */
default : /* 可选 */
statement(s);
}
通常、switch文ではfallthrough文は使用しません。
ここで注意すべき点は、case文内でfallthrough文を使用していない場合、fallthrough現在のcase文を実行した後、switchは終了し、制御フローはswitch文の次の行にジャンプします。
fallthrough文を使用している場合、fallthrough条件を満たしているかどうかに関係なく、後続のcase文またはdefault文が実行され続けます。
注意:ほとんどの言語では、switch文ブロック内でcaseの後にbreakを記述する必要があります。そうしないと、case以降の文が順番に実行されます。一方、Swift言語では、デフォルトでは実行が継続されず、switchも終了します。Swiftでcase以降の文を順番に実行させたい場合は、fallthrough文を使用する必要があります。
例1
次の例ではfallthrough文を使用していません:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
case 10,15 :
print( "index 的值为 10 或 15")
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
上記のコードをコンパイルして実行すると、次のような結果が生成されます:
index 的值为 10 或 15
例2
次の例ではfallthrough文を使用しています:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
fallthrough
case 10,15 :
print( "index 的值为 10 或 15")
fallthrough
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
上記のコードをコンパイルして実行すると、次のような結果が生成されます:
index 的值为 10 或 15 index 的值为 5その他の拡張
Swift 条件文