Переменная — это «именованное пространство в памяти», в котором хранятся значения. Другими словами, он действует как контейнер для значений в программе. Имена переменных называются идентификаторами. Ниже приведены правила именования для идентификатора.
-
Идентификаторы не могут быть ключевыми словами.
-
Идентификаторы могут содержать буквы и цифры.
-
Идентификаторы не могут содержать пробелы и специальные символы, кроме знака подчеркивания (_) и знака доллара ($).
-
Имена переменных не могут начинаться с цифры.
Идентификаторы не могут быть ключевыми словами.
Идентификаторы могут содержать буквы и цифры.
Идентификаторы не могут содержать пробелы и специальные символы, кроме знака подчеркивания (_) и знака доллара ($).
Имена переменных не могут начинаться с цифры.
Введите Синтаксис
Переменная должна быть объявлена перед использованием. Дарт использует ключевое слово var для достижения того же. Синтаксис для объявления переменной приведен ниже.
var name = 'Smith';
Все переменные в dart хранят ссылку на значение, а не содержат значение. Переменная с именем name содержит ссылку на объект String со значением «Smith».
Dart поддерживает проверку типов , добавляя префикс имени переменной к типу данных. Проверка типов гарантирует, что переменная содержит только данные, относящиеся к типу данных. Синтаксис для того же приведен ниже —
String name = 'Smith'; int num = 10;
Рассмотрим следующий пример —
void main() { String name = 1; }
Приведенный выше фрагмент приведет к предупреждению, поскольку значение, присвоенное переменной, не соответствует типу данных переменной.
Выход
Warning: A value of type 'String' cannot be assigned to a variable of type 'int'
Все неинициализированные переменные имеют начальное значение null. Это потому, что Дарт рассматривает все значения как объекты. Следующий пример иллюстрирует то же самое —
void main() { int num; print(num); }
Выход
Null
Динамическое ключевое слово
Переменные, объявленные без статического типа, неявно объявляются как динамические. Переменные также могут быть объявлены с использованием ключевого слова dynamic вместо ключевого слова var.
Следующий пример иллюстрирует то же самое.
void main() { dynamic x = "tom"; print(x); }
Выход
tom
Финал и Конст
Ключевое слово final и const используются для объявления констант. Dart предотвращает изменение значений переменной, объявленной с использованием ключевого слова final или const. Эти ключевые слова могут использоваться вместе с типом данных переменной или вместо ключевого слова var .
Ключевое слово const используется для представления константы времени компиляции. Переменные, объявленные с использованием ключевого слова const , неявно являются окончательными.
Синтаксис: окончательное ключевое слово
final variable_name
ИЛИ ЖЕ
final data_type variable_name
Синтаксис: ключевое слово const
const variable_name
ИЛИ ЖЕ
const data_type variable_name
Пример — окончательное ключевое слово
void main() { final val1 = 12; print(val1); }
Выход
12
Пример — ключевое слово const
void main() { const pi = 3.14; const area = pi*12*12; print("The output is ${area}"); }
В приведенном выше примере объявляются две константы, pi и area , с использованием ключевого слова const . Значение переменной области является константой времени компиляции.
Выход
The output is 452.15999999999997
Примечание. Только константные переменные могут использоваться для вычисления постоянной времени компиляции. Константы времени компиляции — это константы, значения которых будут определены во время компиляции
пример
Дарт генерирует исключение, если делается попытка изменить переменные, объявленные с ключевым словом final или const. Пример, приведенный ниже, иллюстрирует то же самое —
void main() { final v1 = 12; const v2 = 13; v2 = 12; }
Приведенный выше код выдаст следующую ошибку в качестве вывода —