codestory

Variablen in Dart

  1. Was ist Variable?
  2. Variable mit dem Schlüsselwort var deklarieren
  3. Variable mit dynamischem Schlüsselwort deklarieren
  4. Variable mit bestimmtem Datentyp deklarieren
  5. Variable mit Schlüsselwort final deklarieren
  6. Variable mit dem Schlüsselwort const deklarieren

1. Was ist Variable?

In der Programmiersprache Dart ist eine Variable ein Name (ein Bezeichner), der auf eine Adresse zeigt, an der Daten im Speicher gespeichert sind.
Zum Beispiel:
var myVariable1 = 100;
  • var ist ein Schlüsselwort zum Deklarieren einer Variablen.
  • myVariable1 ist der Variablenname.
  • 100 ist der Wert dieser Variablen.
Hier sind die Regeln für die Benennung von Variablen:
  • Das Schlüsselwort kann nicht verwendet werden, um eine Variable zu benennen. "var" ist beispielsweise ein Schlüsselwort, das nicht zum Benennen von Variablen verwendet werden kann.
  • Der Name der Variablen besteht aus Buchstaben des lateinischen Alphabets und Zahlen.
  • Der Variablenname darf außer dem Unterstrich ( _ ) oder dem Dollarzeichen ( $ ) keine Leerzeichen oder Sonderzeichen enthalten.
  • Variablennamen dürfen nicht mit einer Ziffer beginnen.

2. Variable mit dem Schlüsselwort var deklarieren

Die Variablendeklaration ist vor der Verwendung obligatorisch. Für jeden Namen müssen Sie ihn nur einmal angeben.
Am einfachsten deklarieren Sie eine Variable mit dem Schlüsselwort var:
var myVariable1 = "My Text"; // Declare a variable and assign a value to it.

var myVariable2; // Declare a variable but have not assigned a value.
Sie können der Variablen einen neuen Wert zuweisen, was bedeutet, dass die Variable auf eine neue Datenspeicheradresse im Speicher gezeigt hat.
myVariable1 = "New My Text";
Zum Beispiel:
Variable_var_ex1.dart
void main() {
  var myVariable1 = "My Text";
  print(myVariable1);

  myVariable1 = "New My Text";  
  print(myVariable1);
}
Output:
My Text
New My Text
Wenn Sie das Schlüsselwort "var" verwenden, um eine Variable zu deklarieren, sagen Sie Dart: "Erkennen Sie den Datentyp der Variablen selbst". Der Datentyp der Variablen wird bei der erstmaligen Wertzuweisung bestimmt. Wenn Sie eine Variable deklarieren, ihr aber keinen Wert zuweisen, ist ihr Datentyp Null.
Variable_var_ex2.dart
void main() {
  var myVariable1 = "My Text"; // Data type: String
  print("data type of myVariable1: " + myVariable1.runtimeType.toString());

  var myVariable2 = 1000; // Data type: int
  print("data type of myVariable2: " + myVariable2.runtimeType.toString());

  var myVariable3; // Data type: Null
  print("data type of myVariable3: " + myVariable3.runtimeType.toString());

  myVariable3 = true; // Data type: bool
  print("data type of myVariable3: " + myVariable3.runtimeType.toString());
}
Output:
data type of myVariable1: String
data type of myVariable2: int
data type of myVariable3: Null
data type of myVariable3: bool
  • Dart Data Types
Eine Variable wird mit dem Schlüsselwort var deklariert und der Datentyp wird als Nicht-Null erkannt. Sie können ihm keinen Wert mit einem anderen Datentyp zuweisen.
Beispiel: Dart hat für eine Variable festgestellt, dass ihr Datentyp String ist. Der Compiler meldet einen Fehler, wenn Sie ihm einen numerischen Wert zuweisen.
void main() {
  var myVariable1 = "My Text"; // Data type: String
  print("data type of myVariable1: " + myVariable1.runtimeType.toString());
 
  // Can not assign to it an integer value.
  myVariable1 = 1000; // Error at compile time.
}
Fehlermeldung vom Compiler
Error compiling to JavaScript:
Warning: Interpreting this as package URI, 'package:dartpad_sample/main.dart'.
lib/main.dart:6:17:
Error: A value of type 'int' can't be assigned to a variable of type 'String'.
  myVariable1 = 1000; // Error at compile time.
                ^
Error: Compilation failed.

3. Variable mit dynamischem Schlüsselwort deklarieren

Das Schlüsselwort dynamic wird auch verwendet, um eine Variable zu deklarieren, die dem Schlüsselwort var sehr ähnlich ist. Der Unterschied besteht darin, dass der Datentyp dieser Variablen geändert werden kann.
dynamic v1 = 123;   // v1 is of type int.
v1 = 456;           // changing value of v1 from 123 to 456.
v1 = 'abc';         // changing type of v1 from int to String.

var v2 = 123;       // v2 is of type int.
v2 = 456;           // changing value of v2 from 123 to 456.
v2 = 'abc';         // ERROR: can't change type of v2 from int to String.

4. Variable mit bestimmtem Datentyp deklarieren

Sie können eine Variable mit einem bestimmten Datentyp deklarieren, anstatt Dart zu bitten, ihren Datentyp automatisch zu erkennen.
String myVariable1 = "My Text";

int myVariable2 = 1000;
Die Angabe eines bestimmten Datentyps für die Variable zum Zeitpunkt der Deklaration trägt dazu bei, die Fehler im Codierungsprozess zu reduzieren.
Beispiel: Wenn Sie eine Variable vom Typ String deklarieren, ihr aber einen numerischen Wert zuweisen, gibt der Compiler eine Fehlermeldung aus.
String myVariable1  = 1000; // Error at compile time.
  • Dart Data Types

5. Variable mit Schlüsselwort final deklarieren

Das Schlüsselwort final wird auch verwendet, um eine Variable zu deklarieren, und Sie können dieser Variablen nur einmal einen Wert zuweisen. Der Datentyp dieser Variablen wird von Dart bei der ersten Zuweisung bestimmt.
void main() {
  final myVariable1; // Declare a variable.

  myVariable1 = 2; // Assign a value to it.

  myVariable1 = 3; // ERROR at compile time.

  final myVariable2 = "Some Text"; // Declare and assign value to variable.

  myVariable2 = "New Text"; // ERROR at compile time.
}
Mit dem Schlüsselwort final können Sie verhindern, dass einer Variablen versehentlich ein neuer Wert zugewiesen wird, wenn diese bereits einen Wert hat. Dadurch wird sichergestellt, dass die Variable während ihrer Lebensdauer nur auf eine einzige Adresse im Speicher zeigt.
Mit dem Schlüsselwort final wird eine Variable deklariert. Die Daten im Speicherbereich, auf die diese Variable zeigt, können sich intern noch ändern.
Beispiel: Der Wert einer Variablen ist ein Array, die Elemente des Arrays können sich noch ändern.
Variable_final_ex2.dart
void main() {
  final myArray = ["A", "B", "C"];
  print(myArray);
 
  myArray[2] = "E";
  print(myArray);
}
Output:
[A, B, C]
[A, B, E]
  • Dart Switch

6. Variable mit dem Schlüsselwort const deklarieren

Das Schlüsselwort const wird verwendet, um eine spezielle Variable zu deklarieren, die auch als Konstante bezeichnet wird. Wenn Sie eine Variable mit dem Schlüsselwort const deklarieren, sollten Sie ihr einen Wert zuweisen, sonst ist ihr Wert null. Nach der Deklaration können Sie dieser Variablen keinen Wert zuweisen. Der Datenbereich, auf den die Variable zeigt, wird unveränderlich (immutable), d.h er kann die Daten nicht intern ändern.
Variable_const_ex1.dart
void main() {
  const myVariable1 = 100; // Declare and assign value to variable.

  myVariable1 = 2; // ERROR: Can not assign new value.

  const myVariable2; // Declare a variable (Its value is considered null).

  myVariable2 = "Some Text"; // ERROR: Can not assign new value.
}
Eine Variable wird mit dem Schlüsselwort const deklariert. Der Speicherbereich, auf den es zeigt, wird unveränderlich (immutable).
Beispiel: Der Wert einer Variablen ist ein Array, dieses Array wird unveränderlich (immutable).
Variable_const_ex2.dart
void main() {
  const myArray = ["A", "B", "C"];
  print(myArray);

  myArray[2] = "E"; // ERROR: myArray is immutable.
  print(myArray);
}
Output:
[A, B, C]
: Unsupported operation: indexed setError: Unsupported operation: indexed set
  • Dart Switch