[SWIFT] Lassen Sie uns die Wachaussage verstehen!

Dieses Mal habe ich von der Guard-Anweisung erfahren und werde sie ausgeben.

Was ist eine Wachaussage?

*** Mit einem Wort, die Guard-Anweisung ist eine bedingte Verzweigungsanweisung für ein vorzeitiges Beenden, wenn die Bedingung nicht erfüllt ist. *** *** Die grundlegende Schreibmethode ist wie folgt.

qiita.rbvar


Wache bedingter Ausdruck sonst{

Anweisung, die ausgeführt wird, wenn der bedingte Ausdruck falsch ist
Sie müssen den Bereich verlassen, in dem die Schutzerklärung geschrieben ist
(Das heißt, Sie müssen eine Rücksendung schreiben)
}

qiita.rbvar




Schauen wir uns ein einfaches Beispiel an!

func someFunction(){
let value = 99

guard value >= 100 else{
print("Wert kleiner als 100")//Wird ausgeführt, weil der Wert weniger als 100 betrug
return
}

someFunction()
Ausführungsergebnis:Wert kleiner als 100

Zugriff auf Variablen und Konstanten, die in der Guard-Anweisung deklariert sind

Für die Guard-Anweisung kann die Guard-Let-Anweisung auf dieselbe Weise wie die if-Anweisung verwendet werden.

*** Überprüfen Sie die URL unten, wenn Sie die if-Anweisung überprüfen möchten! !! *** *** Was ist eine if-Anweisung? ("Https://qiita.com/syunta061689/items/65d54a58936a5849a67a")

Der Unterschied zur if-let-Anweisung besteht darin, dass die in der guard-let-Anweisung deklarierten Variablen und Konstanten nach der *** guard-let-Anweisung verwendet werden können. *** ***

Das folgende Beispiel greift auf die in der guard-let-Anweisung deklarierte Konstante int zu.

qiita.rbvar


func someFunction(){
let a: Any = 1 //Jeder Typ

guard let int= a as? Int //Kann ein auf Int-Typ herabgestuft werden?

else{//Wenn nicht, gehen Sie wie folgt vor

print("a ist kein Int-Typ")
return
}

print("Der Wert ist vom Typ Int\(int)ist")//int kann auch nach der Guard-Anweisung verwendet werden!
}
someFunction()

Ausführungsergebnis:Der Wert ist 1 vom Typ Int.

Richtige Verwendung mit if-Anweisung

Lassen Sie uns nun ein konkretes Beispiel verwenden, um genauer zu untersuchen, wie es mit der if-Anweisung richtig verwendet wird. Im folgenden Beispiel erhalten die if-Anweisung und die guard-Anweisung zwei Int-Typen, geben die Summe zurück, wenn beide Werte vorhanden sind, und geben nil zurück, wenn einer der beiden Werte keinen Wert hat. Ich werde.

*** Beispiel einer if-Anweisung ***

qiita.rbvar


func add(_ optionalA: Int?,_ optionalB: Int?)-> Int?{

let a: Int      
if let unwrappedA = optionalA{ 

a = unwrappedA

}else{
print("Das erste Argument enthält keinen Wert")
return nil

}
let b: Int
if let unwrappedB = optionalB{

 b = unwrappedB

}else{
print("Das erste Argument enthält keinen Wert")
return nil

}

return a+b 

}

add(optional(3)optional(2))//5

*** Beispiel einer Wachaussage ***

qiita.rbvar


func add(_ optionalA: Int?, _ optionalB: Int?)-> Int?{

       

    guard let a = optionalA else{
    print("Das erste Argument enthält keinen Wert")
    return nil

    }
        
        
        
    guard let b = optionalB else{
    print("Das zweite Argument enthält keinen Wert")
    return nil

    }

    return a+b
        
        
    }

    add(Optional(3),Optional(2))//5

Auf diese Weise ist Code, der abhängig von den Bedingungen vorzeitig beendet wird, *** einfacher mit der Guard-Anweisung zu implementieren *** Wenn Sie in der Guard-Anweisung vergessen, den Exit-Prozess zu schreiben, tritt ein Fehler auf, sodass Sie einfache Fehler vermeiden können!

Recommended Posts

Lassen Sie uns die Wachaussage verstehen!
Lassen Sie uns die if-Anweisung verstehen!
Lassen Sie uns die For-In-Anweisung verstehen!
Lassen Sie uns die switch-Anweisung verstehen!
Lassen Sie uns die Funktion verstehen!
Lassen Sie uns den Array (Element) Typ verstehen!
Lassen Sie uns den optionalen (verpackten) Typ verstehen!
Lassen Sie uns die Schließung verstehen!
Ist die While-Aussage nicht böse?
Lassen Sie uns die App verbessern
12 Entspricht der while-Anweisung
Versuchen wir das S2 Struts Tutorial (# 3_180425)
Verstehen Sie die Hilfsmethode form_with
Probieren wir das S2Struts-Tutorial aus (# 5_180526).
Probieren wir das S2Struts-Tutorial aus (# 4_180505).
Probieren wir das S2Struts-Tutorial aus (# 1_180423).
Lösen wir das FizzBuzz-Problem!
Probieren wir das S2Struts-Tutorial aus (# 2_180424).
Verstehen Sie den grundlegenden Mechanismus von log4j2.xml
[java8] Um die Stream-API zu verstehen
Lassen Sie uns den Bildsuchfilter überprüfen
Versuchen wir das S2Struts-Tutorial (# 0_yymmdd)
Ja, lassen Sie uns eine Vorschau des Bildes anzeigen. ~ part5 ~
Bildverarbeitung: Spielen wir mit dem Bild
Lassen Sie uns die Sicherheitsanfälligkeit angreifen. (2) Öffnen Sie die Umleitung