Dart-Programmierung - Syntax

Die Syntax definiert eine Reihe von Regeln zum Schreiben von Programmen. Jede Sprachspezifikation definiert ihre eigene Syntax. Ein Dart-Programm besteht aus -

  • Variablen und Operatoren
  • Classes
  • Functions
  • Ausdrücke und Programmierkonstrukte
  • Entscheidungsfindungs- und Schleifenkonstrukte
  • Comments
  • Bibliotheken und Pakete
  • Typedefs
  • Datenstrukturen als Sammlungen / Generika dargestellt

Dein erster Dartcode

Beginnen wir mit dem traditionellen Beispiel „Hallo Welt“ -

main() { 
   print("Hello World!"); 
}

Das main()Funktion ist eine vordefinierte Methode in Dart. Diese Methode fungiert als Einstiegspunkt für die Anwendung. Ein Dart-Skript benötigt diemain() Methode zur Ausführung. print() ist eine vordefinierte Funktion, die die angegebene Zeichenfolge oder den angegebenen Wert an die Standardausgabe, dh das Terminal, druckt.

Die Ausgabe des obigen Codes lautet -

Hello World!

Führen Sie ein Dart-Programm aus

Sie können ein Dart-Programm auf zwei Arten ausführen:

  • Über das Terminal
  • Über die WebStorm-IDE

Über das Terminal

So führen Sie ein Dart-Programm über das Terminal aus:

  • Navigieren Sie zum Pfad des aktuellen Projekts
  • Geben Sie den folgenden Befehl in das Terminalfenster ein
dart file_name.dart

Über die WebStorm-IDE

So führen Sie ein Dart-Programm über die WebStorm-IDE aus:

  • Klicken Sie mit der rechten Maustaste auf die Dart-Skriptdatei in der IDE. (Die Datei sollte die enthaltenmain() Funktion zur Aktivierung der Ausführung)

  • Klick auf das ‘Run <file_name>’Möglichkeit. Ein Screenshot davon ist unten angegeben -

Sie können alternativ auf die

Schaltfläche klicken oder die Verknüpfung verwendenCtrl+Shift+F10 um das Dart-Skript auszuführen.

Dart-Befehlszeilenoptionen

Dart-Befehlszeilenoptionen werden verwendet, um die Ausführung des Dart-Skripts zu ändern. Zu den allgemeinen Befehlszeilenoptionen für Dart gehören:

Sr.Nr. Befehlszeilenoption & Beschreibung
1 -c or --c

Aktiviert sowohl Zusicherungen als auch Typprüfungen (aktivierter Modus).

2 --version

Zeigt Informationen zur VM-Version an.

3 --packages <path>

Gibt den Pfad zur Konfigurationsdatei für die Paketauflösung an.

4 -p <path>

Gibt an, wo importierte Bibliotheken zu finden sind. Diese Option kann nicht mit --packages verwendet werden.

5 -h or --help

Zeigt Hilfe an.

Aktivierten Modus aktivieren

Dart-Programme laufen in zwei Modi, nämlich -

  • Überprüfter Modus
  • Produktionsmodus (Standard)

Es wird empfohlen, die Dart-VM in auszuführen checked modewährend der Entwicklung und des Testens, da es Warnungen und Fehler hinzufügt, um den Entwicklungs- und Debugging-Prozess zu unterstützen. Der aktivierte Modus erzwingt verschiedene Überprüfungen wie Typprüfung usw. Um den aktivierten Modus zu aktivieren, fügen Sie beim Ausführen des Skripts vor dem Namen der Skriptdatei die Option -c oder –-checked hinzu.

Um jedoch einen Leistungsvorteil beim Ausführen des Skripts sicherzustellen, wird empfohlen, das Skript im auszuführen production mode.

Folgendes berücksichtigen Test.dart Skriptdatei -

void main() { 
   int n = "hello"; 
   print(n); 
}

Führen Sie das Skript aus, indem Sie - eingeben

dart Test.dart

Obwohl es eine Typinkongruenz gibt, wird das Skript erfolgreich ausgeführt, wenn der aktivierte Modus deaktiviert wird. Das Skript führt zu folgender Ausgabe:

hello

Versuchen Sie nun, das Skript mit der Option "- - markiert" oder "-c" auszuführen.

dart -c Test.dart

Oder,

dart - - checked Test.dart

Die Dart-VM gibt einen Fehler aus, der besagt, dass eine Typinkongruenz vorliegt.

Unhandled exception: 
type 'String' is not a subtype of type 'int' of 'n' where 
   String is from dart:core 
   int is from dart:core 
#0  main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) 
#1  _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) 
#2  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Kennungen in Dart

Bezeichner sind Namen, die Elementen in einem Programm wie Variablen, Funktionen usw. gegeben werden. Die Regeln für Bezeichner sind -

Bezeichner können sowohl Zeichen als auch Ziffern enthalten. Die Kennung kann jedoch nicht mit einer Ziffer beginnen.

  • Bezeichner dürfen keine speziellen Symbole enthalten, außer Unterstrich (_) oder Dollarzeichen ($).

  • Bezeichner können keine Schlüsselwörter sein.

  • Sie müssen einzigartig sein.

  • Bezeichner unterscheiden zwischen Groß- und Kleinschreibung.

  • Bezeichner dürfen keine Leerzeichen enthalten.

In den folgenden Tabellen sind einige Beispiele für gültige und ungültige Bezeichner aufgeführt.

Gültige Bezeichner Ungültige Bezeichner
Vorname Var
Vorname Vorname
num1 Vorname
$ Ergebnis 1Nummer

Schlüsselwörter in Dart

Schlüsselwörter haben im Kontext einer Sprache eine besondere Bedeutung. In der folgenden Tabelle sind einige Schlüsselwörter in Dart aufgeführt.

Zusammenfassung 1 fortsetzen falsch Neu diese
als 1 Standard Finale Null werfen
behaupten aufgeschoben 1 schließlich Betreiber 1 wahr
asynchron 2 tun zum Teil 1 Versuchen
asynchron * 2 dynamisch 1 bekomme 1 neu werfen typedef 1
warte 2 sonst wenn Rückkehr var
Unterbrechung Aufzählung implementiert 1 Set 1 Leere
Fall Export 1 Import 1 statisch 1 während
Fang extern 1 im Super mit
Klasse erweitert ist Schalter Ausbeute 2
const Fabrik 1 Bibliothek 1 synchronisieren * 2 Ausbeute * 2

Leerzeichen und Zeilenumbrüche

Dart ignoriert Leerzeichen, Tabulatoren und Zeilenumbrüche, die in Programmen angezeigt werden. Sie können Leerzeichen, Tabulatoren und Zeilenumbrüche in Ihrem Programm frei verwenden und Ihre Programme frei ordentlich und konsistent formatieren und einrücken, sodass der Code leicht zu lesen und zu verstehen ist.

Dart unterscheidet zwischen Groß- und Kleinschreibung

Dart unterscheidet zwischen Groß- und Kleinschreibung. Dies bedeutet, dass Dart zwischen Groß- und Kleinbuchstaben unterscheidet.

Anweisungen enden mit einem Semikolon

Jede Anweisungszeile wird als Anweisung bezeichnet. Jede Dart-Anweisung muss mit einem Semikolon (;) enden. Eine einzelne Zeile kann mehrere Anweisungen enthalten. Diese Anweisungen müssen jedoch durch ein Semikolon getrennt werden.

Kommentare in Dart

Kommentare sind eine Möglichkeit, die Lesbarkeit eines Programms zu verbessern. Kommentare können verwendet werden, um zusätzliche Informationen zu einem Programm wie den Autor des Codes, Hinweise zu einer Funktion / einem Konstrukt usw. aufzunehmen. Kommentare werden vom Compiler ignoriert.

Dart unterstützt die folgenden Arten von Kommentaren:

  • Single-line comments ( // ) - Jeder Text zwischen einem "//" und dem Ende einer Zeile wird als Kommentar behandelt

  • Multi-line comments (/* */) - Diese Kommentare können mehrere Zeilen umfassen.

Beispiel

// this is single line comment  
  
/* This is a   
   Multi-line comment  
*/

Objektorientierte Programmierung in Dart

Dart ist eine objektorientierte Sprache. Objektorientierung ist ein Softwareentwicklungsparadigma, das der realen Modellierung folgt. Die Objektorientierung betrachtet ein Programm als eine Sammlung von Objekten, die über einen als Methoden bezeichneten Mechanismus miteinander kommunizieren.

  • Object- Ein Objekt ist eine Echtzeitdarstellung einer Entität. Gemäß Grady Brooch muss jedes Objekt drei Merkmale aufweisen -

    • State - beschrieben durch die Attribute eines Objekts.

    • Behavior - beschreibt, wie sich das Objekt verhält.

    • Identity - Ein eindeutiger Wert, der ein Objekt von einer Reihe ähnlicher solcher Objekte unterscheidet.

  • Class- Eine Klasse in Bezug auf OOP ist eine Blaupause zum Erstellen von Objekten. Eine Klasse kapselt Daten für das Objekt.

  • Method - Methoden erleichtern die Kommunikation zwischen Objekten.

Beispiel: Pfeil- und Objektorientierung

class TestClass {   
   void disp() {     
      print("Hello World"); 
   } 
}  
void main() {   
   TestClass c = new TestClass();   
   c.disp();  
}

Das obige Beispiel definiert eine Klasse TestClass. Die Klasse hat eine Methodedisp(). Die Methode druckt die Zeichenfolge "Hello World" auf dem Terminal. Das neue Schlüsselwort erstellt ein Objekt der Klasse. Das Objekt ruft die Methode aufdisp().

Der Code sollte Folgendes erzeugen output - -

Hello World