Swift switch-Anweisung
switchDie switch-Anweisung ermöglicht es, eine Variable auf Gleichheit mit mehreren Werten zu prüfen. In Swift wird die gesamte switch-Anweisung beendet, sobald eine case-Anweisung übereinstimmt.
Syntax
Die Syntax einer switch-Anweisung in Swift ist:
switch expression {
case expression1 :
statement(s)
fallthrough /* 可选 */
case expression2, expression3 :
statement(s)
fallthrough /* 可选 */
default : /* 可选 */
statement(s);
}
Im Allgemeinen wird die fallthrough-Anweisung nicht in switch-Anweisungen verwendet.
Hier müssen wir beachten, dass, wenn die case-Anweisung nicht diefallthrough-Anweisung verwendet, dann nach Ausführung der aktuellen case-Anweisung die switch-Anweisung beendet wird und der Kontrollfluss zur nächsten Zeile nach der switch-Anweisung springt.
Wenn diefallthrough-Anweisung verwendet wird, werden die folgenden case- oder default-Anweisungen weiter ausgeführt, unabhängig davon, ob die Bedingung erfüllt ist.
Hinweis:In den meisten Sprachen muss in einem switch-Anweisungsblock auf case ein break folgen; andernfalls werden die Anweisungen nach case nacheinander ausgeführt. In Swift wird standardmäßig nicht fortgefahren, und die switch-Anweisung wird ebenfalls beendet. Wenn die Anweisungen nach case in Swift der Reihe nach weiter ausgeführt werden sollen, müssen Sie die fallthrough-Anweisung verwenden.
Beispiel 1
Im folgenden Beispiel wird die fallthrough-Anweisung nicht verwendet:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
case 10,15 :
print( "index 的值为 10 oder 15")
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
index 的值为 10 oder 15
Beispiel 2
Im folgenden Beispiel wird die fallthrough-Anweisung verwendet:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
fallthrough
case 10,15 :
print( "index 的值为 10 oder 15")
fallthrough
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis:
index 的值为 10 oder 15 index 的值为 5Weitere Erweiterungen
Bedingte Anweisungen in Swift