Deze pagina laat zien hoe je de stroom van je Dart-code kunt beheren met behulp van vertakkingen (branches):
- if-verklaringen (if statements) en elementen
- if-case-verklaringen (if-case statements) en elementen
- switch-verklaringen (switch statements) en expressies (expressions)
Daarnaast kun je de stroom van de controle in Dart manipuleren met:
- Lussen (loops), zoals for en while
- Excepties (exceptions), zoals try, catch en throw
If-verklaringen
Dart ondersteunt if-verklaringen (If Statements) met optionele else-clausules. De voorwaarde tussen haakjes na if moet een expressie zijn die evalueert naar een boolean:
if (isRaining()) {
you.bringRainCoat();
} else if (isSnowing()) {
you.wearJacket();
} else {
car.putTopDown();
}In dit voorbeeld controleert de code of het regent, sneeuwt of dat het weer goed genoeg is om de kap van de auto omlaag te doen.
If-case Verklaringen
Dart if-verklaringen (If-case Statements) ondersteunen ook case-clausules gevolgd door een patroon:
if (pair case [int x, int y]) return Point(x, y);
Als het patroon overeenkomt met de waarde, dan wordt de vertakking uitgevoerd met alle variabelen die door het patroon in de scope zijn gedefinieerd.
In het vorige voorbeeld komt het lijstpatroon [int x, int y] overeen met de waarde pair, zodat de vertakking return Point(x, y) wordt uitgevoerd met de variabelen x en y die door het patroon zijn gedefinieerd.
Als de waarde niet overeenkomt met het patroon, gaat de controle over naar de else-vertakking, als die er is:
if (pair case [int x, int y]) {
print('Was coordinate array $x,$y');
} else {
throw FormatException('Invalid coordinates.');
}De if-case-verklaring biedt een manier om een enkele waarde te matchen en te deconstrueren tegen een enkel patroon. Om een waarde te testen tegen meerdere patronen, gebruik je switch.
Geneste if-verklaringen
Je kunt if-verklaringen nesten om complexere logica te creƫren:
void main() {
int number = 12;
if (number > 10) {
if (number < 20) {
print('Number is between 11 and 19');
} else {
print('Number is 20 or greater');
}
} else {
print('Number is 10 or less');
}
}In dit voorbeeld worden geneste if-verklaringen gebruikt om te controleren of een getal tussen 11 en 19 ligt.