Dart is een krachtige programmeertaal, en het gebruik van functies maakt het mogelijk om code te hergebruiken, modulariseren en leesbaarder te maken.
void main() {
zetOpScherm();
}
void zetOpScherm() {
print('Hallo wereld');
}Logischer zou zijn om dit wat dynamischer te maken en dus makkelijker her te gebruiken.
void main() {
zetOpScherm('hallo wereld');
}
void zetOpScherm(tekst) {
print(tekst);
}Fat Arrow Notatie
Een handige syntactische functie in Dart is de fat arrow notatie (=>). Deze notatie kan worden gebruikt om functies die slechts één expressie bevatten, beknopter te schrijven. Dit maakt de code vaak leesbaarder. Bij het gebruik van de fat arrow notatie is het return-statement niet nodig, omdat de expressie automatisch wordt teruggegeven.
Hier is een voorbeeld van een functie geschreven met de reguliere notatie:
double rekenen(double getal1, double getal2) {
return getal1 * getal2;
}En hier is dezelfde functie met de fat arrow notatie:
double rekenen(double getal1, double getal2) => getal1 * getal2;De fat arrow notatie is vooral nuttig voor eenvoudige functies, omdat het de code compacter en vaak gemakkelijker te begrijpen maakt.
Parameters met Namen
In Dart zijn genummerde parameters een manier om je functie-aanroepen leesbaarder en flexibeler te maken. In plaats van te vertrouwen op de volgorde van argumenten, specificeer je de namen van de parameters. Dit is vooral handig wanneer je functies hebt met veel optionele parameters of wanneer je de leesbaarheid van je code wilt verbeteren.
Verschil tussen Genummerde Parameters en Positionele Parameters in Dart
In Dart kun je functies op verschillende manieren parameters laten accepteren: genummerde parameters (named parameters) en positionele parameters. Beide methoden hebben hun eigen voor- en nadelen en zijn geschikt voor verschillende situaties.
Genummerde Parameters
Genummerde parameters, ook wel named parameters genoemd, worden gedefinieerd met behulp van accolades {} in de functiedeclaratie. Deze parameters zijn standaard optioneel, maar je kunt verplichte genummerde parameters afdwingen met het required sleutelwoord. Bovendien kun je standaardwaarden opgeven voor genummerde parameters.
void printGebruikersDetails({
required String naam,
int leeftijd = 18,
String? email,
}) {
print('Alles op één regel: Naam: $naam Leeftijd: $leeftijd');
print('Naam: $naam');
print('Leeftijd: $leeftijd');
if (email != null) {
print('Email: $email');
}
}
void main() {
printGebruikersDetails(
naam: 'Jan Jansen', leeftijd: 25, email: 'jan.jansen@example.com',
);
printGebruikersDetails(naam: 'John Doe');
}Positionele Parameters
Positionele parameters worden eenvoudigweg gedefinieerd in de functiedeclaratie zonder speciale tekens. De volgorde waarin de parameters worden doorgegeven, is hierbij van belang. Positionele parameters zijn handig voor eenvoudige functies met een beperkt aantal parameters waar de volgorde logisch en intuïtief is.
double rekenen(double getal1, double getal2) {
return getal1 * getal2;
}
void main() {
print(rekenen(8, 2));
}Vergelijking: Genummerde Parameters versus Positionele Parameters
Genummerde Parameters:
double vermenigvuldig({required double a, double b = 1.0}) {
return a * b;
}
void main() {
print('Resultaat van vermenigvuldiging: ${vermenigvuldig(a: 4.5, b: 2.0)}');
double resultaat = vermenigvuldig(a: 4.5);
print('Resultaat van vermenigvuldiging met standaardwaarde: $resultaat');
}Positionele Parameters:
double rekenen(double getal1, double getal2) {
return getal1 * getal2;
}
void main() {
print(rekenen(8, 2));
}Aanroepen van Functies
void main() {
// Genummerde parameters
print('Resultaat van vermenigvuldiging: ${vermenigvuldig(a: 4.5, b: 2.0)}');
double resultaat2 = vermenigvuldig(a: 4.5);
print('Resultaat van vermenigvuldiging met standaardwaarde: $resultaat2');
// Positionele parameters
print(rekenen(8, 2));
}Conclusie
Gebruik genummerde parameters wanneer je functies hebt met veel optionele parameters of wanneer je de leesbaarheid van je code wilt verbeteren door expliciet te maken welke waarde aan welke parameter wordt toegekend. Bovendien kun je de volgorde van de parameters door elkaar gooien bij het aanroepen van de functie.
Gebruik positionele parameters voor eenvoudige functies met een beperkt aantal parameters waar de volgorde logisch en intuïtief is.
Door beide methoden op de juiste manier toe te passen, kun je de leesbaarheid, flexibiliteit en onderhoudbaarheid van je code verbeteren. En vergeet niet dat je met de fat arrow notatie je functies nog compacter en leesbaarder kunt maken als ze slechts één expressie bevatten.