I Swift studieren, als ich auf diese kam:Funktionstyp vs Funktionen (Methoden)
var action:() -> Void = {
print "hi"
}
var someVariable: Int -> Int
Wie ich bisher weiß, dass diese sollten Funktion Variablen vom Typ sein, die „Aktion“ a „übernimmt keine Parameter und gibt nichts zurück“ -Typ während „somevariable“ a ist „ein Int nimmt ab und gibt einen Int“ -Typ.
Also meine Frage ist: Warum nicht einfach func verwenden?
func action() {
print "hi"
}
func someVariable(a: Int) -> Int {
return a + 1
}
Sind diese beiden die gleiche Sache? Oder gibt es eine Vorliebe, wenn Code geschrieben wird, um func über Funktionstypvariablen zu verwenden oder umgekehrt? Wenn es welche gibt, wann wann?
Also zum Beispiel, wenn eine andere Funktion einen Parameter nimmt, kann ich "someVariable" hineingeben, da es eine "Variable" ist, während Funktionen selbst nicht herumgereicht werden können? –
Anstatt eine andere Variable zu erstellen (var a = someVariable (1)), einfach den Rückgabewert einer Funktion erfassen und an eine andere Funktion übergeben? –
@RayTso Was Strat bedeutet ist, dass Sie * einige * closure * zu * 'var someVariable' zuweisen können - zum Beispiel können Sie schreiben' someVariable = {a im Gegenzug ein * 2} 'und später' someVariable = {a im Gegenzug a * a} '. Mit Funktionen können Sie nicht dasselbe machen. – luk2302