And, Or und Not in Dart
Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 19 von 34.
Oft reicht ein einzelner bool nicht aus. Dart verbindet sie mit drei Operatoren:
a && b(und): nur dann true, wenn beide true sinda || b(oder): true, wenn mindestens eines true ist!a(nicht): kehrt true und false um
bool _hasTicket = true;
bool _isLate = false;
_hasTicket && !_isLate // true: du kannst einsteigen
_hasTicket || _isLate // true: mindestens einer der beiden Werte ist trueDas Ergebnis ist ein bool und passt daher vor das ? einer Bedingung oder in ein if. Klammern erleichtern das Lesen:
Text((_hasTicket && !_isLate) ? 'Board now' : 'Wait')Aufgabe
EinfachDie Tür öffnet sich nur mit dem Schlüssel und dem Code. Ändere die beiden Zeilen:
- Die erste zeigt
The door is openan, wenn du den Schlüssel hast und den Code kennst, andernfallsThe door is locked - Die zweite zeigt
Getting closeran, wenn du den Schlüssel hast oder den Code kennst, andernfallsFind the key and the code
Probier es selbst
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
bool _hasKey = false;
bool _knowsCode = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Door')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Text('The door is locked', style: TextStyle(fontSize: 24)),
const Text('Find the key and the code'),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () {
setState(() {
_hasKey = true;
});
},
child: const Text('Take the key'),
),
ElevatedButton(
onPressed: () {
setState(() {
_knowsCode = true;
});
},
child: const Text('Learn the code'),
),
],
),
),
);
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Apps interaktiv gestalten
1Schaltflächen
Deine erste SchaltflächeIn der Konsole ausgebenText- und umrandete SchaltflächenSymbol-SchaltflächenDer Floating Action Button7Schalter und Schieberegler
Ein und aus mit einem SchalterEin Kästchen ankreuzenEinen Wert mit einem Schieberegler auswählen5Entscheidungen
bool und der ?: OperatorEntscheidungen mit if und elseAnd, Or und Not in DartEin Widget ein- und ausblendenEinen Button ausgrauenÜbe selbstständig: Online-Flutter-Compiler