Was ist ein typedef im Dart?
Las ich die Beschreibung und ich verstehe, dass es ist ein Funktion-Typ-alias.
-
Typedef oder-Funktion-Typ-alias gibt eine Funktion geben Sie einen Namen ein, den Sie verwenden können bei der Deklaration der Felder und Rückgabetypen. Ein typedef behält geben Sie Informationen, wenn eine Funktion den Typ einer Variablen zugewiesen ist.
-
http://www.dartlang.org/docs/spec/latest/dart-language-specification.html#kix.yyd520hand9j
Aber wie verwende ich es? Warum deklarieren die Felder mit einer Funktion-Typ? Wann nutze ich es? Welches problem gilt es zu lösen?
Ich denke ich brauche noch ein oder zwei echte code-Beispiele.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer gemeinsamen Nutzung Muster der typedef in Dart ist die Definition einer callback-Schnittstelle. Zum Beispiel:
Das obige Beispiel ergibt folgende Ausgabe:
Die typedef-Zeile sagt, dass LoggerOutputFunction nimmt einen String-parameter und void zurückgibt.
timestampLoggerOutputFunction entspricht dieser definition und damit zugeordnet werden kann, das out-Feld.
Lassen Sie mich wissen, wenn Sie benötigen ein anderes Beispiel.
new DateTime.now().toString()
?typedef
notation. Der am günstigsten gelegene isttypedef LoggerOutputFunction = void Function(String msg);
(von dartlang.org/guides/language/effective-dart/...)typedef currency double
. Fehler: "Typedefs muss eine explizite Liste von Parametern.'Dart 1.24 führt eine neue typedef-syntax unterstützt auch generische Funktionen. Die Vorherige syntax wird weiterhin unterstützt.
Weitere details siehe https://github.com/dart-lang/sdk/blob/master/docs/language/informal/generic-function-type-alias.md
Funktion Arten kann auch angegeben werden, inline -
Siehe auch https://www.dartlang.org/guides/language/language-tour#typedefs
Nur leicht modifiziert Antwort, die nach den neuesten typedef-syntax, Das Beispiel könnte aktualisiert werden, um:
sieht viel klarer als die Vorherige version