Dart Basic: Strings Part 1

Dart
Die Manipulation von Zeichenketten ist eine wiederkehrende Aufgabe in der Programmierung.
Natürlich hat auch Dart diverse Möglichkeiten mit Zeichenketten umzugehen. Dieser Serie wird auf einige eingehen.


Basis


Alles in Dart ist letztendlich ein Objekt. Auch der Datentyp String ist ein Objekt, beziehungsweise, die entsprechenden Variablen die wir erstellen.
In der dart:core Library ist die String Klasse implementiert. Die Dokumentation dazu ist, wie bei Dart üblich, hervorragend. Ich kann nur empfehlen, sich eingehend damit zu beschäftigen.

Zum testen kann man das DartPad verwenden. Es ist ideal für kleine Programme und erste Schritte in Dart.


Eine Zeichenkette einer Variablen zuweisen


Einfache Zuweisung von Strings
Links sehen wir zwei einfache Zuweisungen. Einmal an die Variable test, diese ist vom Typ String. Das andere Mal an test1, diese wiederum ist vom Typ var.
Beides ist legitim, obwohl ein kleiner Unterschied besteht.

Während String test von Anfang an eine eindeutige Definition ist, entscheidet Dart bei test1 erst nach der Zuweisung der Zeichenkette, das test1 eine String Variable ist. Was jetzt vernachlässigbar scheint, kann zu Problemen führen.

Wer ein Programm liest und auf Deklarationen wie var meineVariable; stößt, kann im ersten Moment nicht wissen, für was für einen Datentyp diese Variable bestimmt ist. Ein Integer Wert ? ein Objekt ?
Bei einer Deklaration wie String test ist das eindeutig.

Man kann das Resultat von String Operationen am einfachsten überprüfen, indem man das Ergebnis in die Konsole druckt:


Zeichenketten ausdrucken

Im Code oben sehen wir die Print Funktion im Einsatz. Zwischen einem Paar Anführungszeichen, es können einfache oder doppelte sein, steht die Zeichenkette.
Die Variablen die wir in der Zeichenkette mit ausdrucken lassen wollen, sind durch das Dollarzeichen $ gekennzeichnet


Eine Zeichenkette als Objekt


Schauen wir uns aber einmal die String Klasse in der Dokumentation an. Ziehen wir die offizielle Dokumentation zu Rate, wird schnell ersichtlich das die Möglichkeiten die uns Dart da bietet sehr umfangreich sind.

Wie andere Klassen auch, verfügt die String Klasse über Methoden, Konstruktoren, Eigenschaften etc.
Da Dart eine objektorientierte Programmiersprache ist, empfiehlt es sich, die entsprechenden Grundprinzipien zu erlernen, was aber nicht das Thema dieser Serie ist.

Nehmen wir Beispielsweise vom rechten Bild length. Mit test.length holen wir uns den Wert dieser Klassenvariable.

In der objektorientierten Programmierung hat die String Klasse eine Mechanik (Getters), die "Properties" ausliest und uns ein Ergebnis zurückgibt. Im Falle von length ist das ein Integer Wert.
Wenn wir das wissen, erstaunt es nicht, das wir den Ausdruck test.length direkt der Printfunktion übergeben können:


8 wird in die Konsole gedruckt
Im aktuellen Beispiel erhalten wir natürlich die Zahl 8 in die Konsole gedruckt. Das Leerzeichen ist selbstverständlich auch ein Zeichen, das mitgezählt bzw. verarbeitet wird.

Hier sehen wir aber auch schon den Weg den wir einschlagen müssen, um ein spezifisches Problem zu lösen. Wir müssen die Aufgabe die wir lösen wollen definieren, und anschließend aus den Möglichkeiten die die Entsprechende Klasse bietet, die richtige auswählen.

Wichtig ist dabei auch immer zu wissen, was für einen Datentyp gibt uns eine Methode oder eine Eigenschaft zurück ?

Man kann sich so einiges an Fehlersuche ersparen.

Das war es für dieses Mal. Bis bald !

Kommentare

Beliebte Posts aus diesem Blog

Listen in Dart (2021): Part 1 List.filled List.empty und List.add

Dart und Klassen