Swift switch 文

Swift 条件语句Swift 条件文

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 条件语句Swift 条件文

その他の拡張