Dieses Mal habe ich etwas über das Schließen gelernt, also werde ich es ausgeben.
*** Das Schließen ist ein wiederverwendbarer Teil der Verarbeitung. *** *** Funktionen sind eine Art Schließung, daher haben sie viele häufige Verwendungszwecke. Um die Funktion verwenden zu können, musste sie mit dem Schlüsselwort "func" definiert werden. Es gibt jedoch eine Möglichkeit, den Abschluss als Abschlussausdruck zu definieren.
*** Klicken Sie hier, um die Funktion zu überprüfen !! *** Lassen Sie uns die Funktion verstehen! (Https://qiita.com/syunta061689/items/77e8aa76070a734f1b4d)
Die grundlegende Definitionsmethode lautet wie folgt.
qiita.rbvar
{(Argumentname 1: Typ,Argumentname 2: Typ...) ->Geben Sie den Typ ein
Anweisung ausgeführt, wenn der Abschluss ausgeführt wird
Geben Sie den Rückgabewert bei Bedarf mit einer return-Anweisung zurück
}
Schauen wir uns als nächstes ein einfaches Beispiel an.
qiita.rbvar
let double = {(x:Int) -> Int in
return x * 5
}
double(5) //25
Die Beschreibung des Arguments und des Rückgabetyps ist dieselbe wie für die Funktion, jedoch werden der Rückgabetyp und die Anweisung durch das Schlüsselwort in getrennt. Im obigen Beispiel wird ein Abschluss definiert und ausgeführt, der ein Argument vom Typ Int verwendet und einen Rückgabewert vom Typ Int zurückgibt, der mit 5 multipliziert wird.
qiita.rbvar
func rectangleArea(height:Int,width:Int) -> Int {
let result = height*width
return result //Geben Sie das Berechnungsergebnis zurück
}
let area = rectangleArea(height: 5,width: 6) //30
Im obigen Beispiel wird der Typ der Variablen eindeutig als Int-> Int bestimmt, und die Ergebnisrückgabe des Berechnungsergebnisses wird ausgeführt und der Rückgabewert wird zurückgegeben.
Das folgende Muster gibt ein Array oder ein Wörterbuch zurück:
*** Klicken Sie hier, um den Array-Typ zu überprüfen !! *** Lassen Sie uns den Array-Typ verstehen! (Https://qiita.com/syunta061689/items/89e549f4a3254f635ce1)
Schauen wir uns ein einfaches Beispiel an.
qiita.rbvar
func a(num: [Int] -> [Int] { //Gibt ein Array vom Typ Int zurück
print num
}
func b(strings: [String: Int]) -> [String: Int]{ //Ermöglicht den Empfang von Wörterbüchern mit Schlüsseln vom Typ String und Werten vom Typ Int.
print strings
}
let test = a(num:0,1,2)
let test1 = b(String:[Schimpanse:0,Gorilla:1])
print(a)//[0,1,2]
print(b) //[Schimpanse:0,Gorilla:1]
Dieses Mal habe ich die Grundlagen der Schließung zusammengefasst. Der diesmal beschriebene Inhalt ist jedoch die Grundlage der Grundlagen, der Abschluss ist tief und es gibt einen komplizierten Schreibstil, so dass ich ihn auch in Zukunft fest verstehen werde.
Recommended Posts