[SWIFT] Bereichsspezifikation für switch-Anweisungen

Überblick

Ich habe versucht zu beschreiben, wie der Bereich von Bedingungen in der switch-Anweisung angegeben wird. Ich dachte, ich könnte nur einen bestimmten Wert für die Bedingung der switch-Anweisung festlegen, also werde ich ihn im Sinne eines Rückblicks auf mich selbst belassen.

Beschreibung

Die switch-Anweisung schaltet den auszuführenden Befehl entsprechend dem Wert des Steuerausdrucks um.

ViewController.swift


Schaltersteuerungstyp{
Fall Bedingung 1:
    //Verarbeitung, wenn Bedingung 1 erfüllt ist
Fall Bedingung 2:
    //Verarbeitung, wenn Bedingung 2 erfüllt ist
default:
    //Was tun, wenn keine der Bedingungen erfüllt ist?
}

Die Bedingung enthält keinen Bereich, und Sie können problemlos einen bestimmten Bereich beschreiben. Was sollten Sie jedoch tun, wenn Sie die folgende if-Anweisung durch eine switch-Anweisung ersetzen möchten?

ViewController.swift


let number: Int!
if number > 0 {
    //Verarbeitung bei positiver Nummer
} else if number < 0 {
    //Verarbeitung bei negativer Zahl
} else {
    //Verarbeitung bei Nummer 0
}

Verwenden Sie in solchen Fällen * Int.min * oder * Int.max *. Int.min repräsentiert den minimal möglichen Wert des Integer-Typs und Int.max repräsentiert den maximal möglichen Wert des Integer-Typs. Wenn Sie an die Maximal- und Minimalwerte von Ganzzahlen denken, können Sie an + ∞ und −∞ denken, aber die Daten sind unterschiedlich. Der Maximalwert der Ganzzahl ist 9223372036854775807 und der Minimalwert ist -9223372036854775807. Da die Ziffern sehr groß sind, können Sie sich das als + ∞ und -∞ vorstellen. Verwenden Sie dies also, um eine switch-Anweisung abzugeben. [Addition] Wenn der Zufallsbereich nur vom Typ Integer ist, liegt Int.max außerhalb des Bereichs positiver Ganzzahlen in 1 .. <Int.max, also 1 ... Int.max Fest

ViewController.swift


let number = Int.random(in: -100...100)
switch number{
case 1...Int.max:
    //Verarbeitung bei positiver Nummer
    //[Nachtrag]1..<Int.Int für max.max liegt außerhalb der Reichweite
case Int.min..<0:
    //Verarbeitung bei negativer Zahl
default:
    //Verarbeitung bei Nummer 0
}

Sie können es auch ausführen, wenn Sie den Bereich ohne Verwendung von Int.max angeben möchten. Wird keine Verarbeitung durchgeführt, wird diese mit einer Unterbrechung unterbrochen.

ViewController.swift


let number = Int.random(in: 0...10)
switch number{
case 1...5:
    //Nummer ist 1~Verarbeitung um 5
case 6...10:
    //Nummer ist 6~Verarbeitung um 10
default: break
}

Schließlich

Ich selbst hatte es nur mit der if-Anweisung gelöst, ohne die switch-Anweisung so oft zu verwenden Möglicherweise liegt ein Fehler im Inhalt vor. In diesem Fall vielen Dank für den Hinweis.

Verweise

Dieser Artikel wurde unter Bezugnahme auf die folgenden Informationen verfasst.

Recommended Posts

Bereichsspezifikation für switch-Anweisungen
switch-Anweisung
Java-Switch-Anweisung
Studieren der Java-Part 11-switch-Anweisung
[Swift] switch-Anweisung mit tapple
Lassen Sie uns die switch-Anweisung verstehen!
[Java] Verzweigungsaufzählung mit switch-Anweisung
[Java] Die Geschichte einer wirklich beängstigenden switch-Anweisung
Ich habe eine großartige switch-Anweisung getroffen