Dart und Void

 

In diesem Post betrachte ich den Begriff void in der Programmiersprache Dart.

Wenn Du Dart lernst, wird dir void schon bei den ersten Schritten in dieser Programmiersprache aufgefallen sein. Schliesslich wird in den meisten Code Beispielen die main(...) Funktion aufgezeigt und die hat den Rückgabe Wert void.

Wie oft in diesem Blog empfehle ich für kleine Experimente das DartPad. Es läuft nicht nur im Browser, sondern ist in seiner aktuellen Version auch in der Lage mit einigen externen Packages umzugehen. Aber dazu mehr in einem anderen Post

Beispiel 1:



Du weißt sicher schon, das die main Funktion den Einstiegspunkt des Betriebssystems in Dein Programm darstellt. Mit void wird deklariert, das diese main Funktion keinen Wert, also kein Resultat an das Betriebssystem zurück gibt.

Falls Du lustig bist, kannst Du dir den Begriff void ins Deutsche übersetzen lassen. Du erhälst dann vom Google Uebersetzer Leere als Resultat. 

Der Code oben, der Standard DartPad Code, zeigt diese main Funktion auf. Neben der main Funktion, die Dein Programm unbedingt haben muss, kannst Du natürlich auch eigene Funktionen schreiben.

Beispiel 2:


Oben siehst Du so eine Funktion. meineFunktion hat als Return Type das Schlüsselwort String stehen. void und String sind solche Schlüsselwörter. Damit ist gemeint, das sie von unserer Programmierumgebung verwendet werden und nicht nach belieben eingesetzt werden können. Mit diesen Schlüsselwörtern, und Dart hat eine ganze Menge davon, wird die Programmiersprache definiert.

void heisst also, das die main Funktion keinen Wert an die aufrufende Ebene zurück gibt.

Wenn eine Funktion nichts zurückgibt, wieso das dann überhaupt mit void deklarieren ?

Wenn man Code betrachtet den man vor längerer Zeit geschrieben hat, kann es durchaus schwierig sein, immer alles nachzuvollziehen. Eine saubere und klare Deklaration von Variablen, Rückgabewerten und anderem mehr,  vereinfacht das enorm.  Folgender Code wird direkt eine Fehlermeldung vom DartPad generieren:

Beispiel 3:


Der Grund ist schnell klar: meineFunktion(...) gibt nichts zurück. So können wir meineZahl auch kein Resultat zuweisen, ergo hier ist ein Fehler. Selbst wenn Du ein return Statement einfügst, meldet DartPad einen Fehler. Denn DU hast deklariert, das die Funktion nichts zurückgibt !

Bei folgendem Code wird das DartPad im ersten Moment keinen Fehler anzeigen, obwohl der Code fehlerhaft ist:

Beispiel 4:


Fehlerhaft deshalb, da meineFunktion kein return Statement hat. Erst wenn Du das Programm ausführst, wird ein Fehler generiert.

Fazit: void setzt Du ein, wenn eine Funktion nichts zurück gibt. Wie andere Deklarationen hilft es Deinen Code übersichtlich zu machen und Fehler früh aufzuzeigen. 

Kommentare

Beliebte Posts aus diesem Blog

Dart Basic: Strings Part 1

Dart Basic: Parameter in Funktionen

Dart Basic: Listen Part 1