Dart-switch Fällen
Ich versuche zu verstehen, wie die Schalter arbeiten in dart. Ich habe einen ganz einfachen code:
methodname(num radians) {
switch (radians) {
case 0:
//do something
break;
case PI:
//do something else
break;
}
}
Diese funktioniert leider nicht. Wenn Sie nicht, wie dies der Fehler ist: case-Ausdrücke müssen vom gleichen Typ (ich glaube der Typ ist eine Zahl, aber nicht der editor).
Wenn ich 0 (0,0) heißt es: Die switch-Typ Ausdruck Doppel nicht überschreiben = = - operator - ich habe keine Ahnung, was das bedeutet!
Also, was ist der Weg, das zu tun diese switch case? Ich kann schalten Sie es auf, wenn/sonst wahrscheinlich, aber ich wollte wissen, wie die Schalter funktionieren und warum ist es nicht arbeiten in den ersten Platz.
Mir läuft die neueste stabile version von DartEditor.
Bitte wer kann helfen?
- Schalter in Dart reifer sind als andere Programmiersprachen, und Sie haben mehr Funktionalität. Als ein Beispiel, Dart, jeder Fall muss für sich haben 'break', 'weiterhin', 'rethrow', 'return' oder 'werfen' als Schlüsselwort. Bitte gehen Sie durch flutterrdart.com/dart-switch-case-statement-with-examples tutorial, um zu erfahren über die switch-Anweisung in Dart.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Vergleich der double-Werte mit '==' ist nicht sehr zuverlässig und sollte vermieden werden (nicht nur beim Dart, sondern in den meisten Sprachen).
Könnten Sie etwas tun, wie
Diese Frage enthält einige zusätzliche Informationen, die Sie interessieren könnten
einige weitere Informationen:
if/else
stackoverflow.com/questions/12398719/... Es ist gemeinsames Verhalten in manchen(allen?) Sprachen.int
oderString
Werte oder benutzerdefinierte Typen, die nicht überschreiben==
es sei denn, Sie vergleichen können zu einer int-oder String-Wert. Dieswitch
und allecase
- Ausdrücke müssen vom gleichen Typ sein.pub build
und führen Sie das Ergebnis. Ich weiß nicht, ob Dart kümmert sich um den Unterschied von int/double im Produktions-Modus.