Wie könnte ich den Operator "=>" in booleschen Ausdrücken verwenden? Zum Beispiel ist die folgende Erklärung falsch, da „isOpen = isOpen!“ Einen Booleschen Wert zurückgibt:Verwenden Sie den Operator => in booleschen Ausdrücken
// not a good function declaration
void toggle => isOpen = !isOpen;
Ich war in so etwas wie dies zu denken:
void toggle => shutUp(isOpen = !isOpen);
Wo shutUp()
ist eine Funktion, gibt einen void
Wert zurück und akzeptiert alle booleschen Parameter.
Thansk. Es ist seltsam, aber es funktioniert. – Cequiel
=> x ist eine Kurzschrift für {return x; }. So kann eine Funktion geschrieben werden als: toggle() => isOpen =! IsOpen; und eine anonyme Funktion ist die gleiche, nur ohne einen Namen:() => isOpen =! isOpen ;. [Mehr dazu hier.] (Https://www.dartlang.org/resources/dart-tips/dart-tips-ep-7) – Alvis
Es ist nicht seltsam, dass es funktioniert. Es ist fast das Gleiche wie 'bool toggle() => isOpen =! IsOpen;', nur in einer mehr verschachtelten Weise geschrieben. Ein Weg, der wahrscheinlich auch bei Methoden nicht funktioniert - Sie können eine 'void toggle()' Methodensignatur nicht mit 'var toggle' implementieren. Ich empfehle nicht, diese Lösung zu verwenden. – lrn