В общем, переменная — это хранилище данных, имя которого является идентификатором содержащихся в нем данных.

Переменные действительно помогают нам, когда мы собираемся использовать одни и те же данные много раз.

Прежде чем мы углубимся в это, если у вас есть какие-либо вопросы о программировании Dart, вы можете задать их мне через мой Instagram @qrvkzy, я буду рад ответить на ваши вопросы.

В Dart переменные делятся на два типа, а именно переменные с данными, которые могут быть изменены или изменены, и переменные с данными, которые не могут быть изменены или неизменны.

В Dart мы также можем создавать переменные, которые могут принимать null (Nullable), и переменные, которые не могут принимать null (Non-Nullable).

Изменяемая переменная.

Изменяемая переменная adalah sebuah переменная dengan data yang bisa diubah. Sebagian besar изменяемая переменная mampu menerima data null atau nullable.

В Dart есть два способа создания изменяемых переменных, а именно использование ключевого слова var перед именем переменной или указание типа данных перед именем переменной.

void main() {
  var value = "Halo!";
  print(value);
}

Используя ключевое слово var, мы можем создать изменяемую переменную, которая будет автоматически определять тип данных в соответствии с начальным значением переменной. Только вызвав имя переменной, мы уже можем получить доступ к имеющимся в ней данным.

void main() {
  var value = "Halo!";
  value = "Hi!";
  print(value); 
}

Мы также можем изменить имеющиеся у него данные, просто вызвав имя переменной и введя в нее новые данные с помощью оператора равенства (=).

Поскольку переменные, созданные с помощью ключевого слова var, будут определять тип данных, который будет использоваться, через исходные данные, которые у них есть, более целесообразно предоставить исходные данные для этой переменной, чтобы используемый тип данных не стал динамическим или типом данных, который может поддерживать все типы типов данных.

void main() {
  String value = "Halo!";
  print(value);
}

Заменив ключевое слово var типом данных, который будет использоваться, мы можем создать переменную с типом данных, который был определен в начале ее создания.

void main() {
  String value = "Halo!";
  value = "Hi!";
  print(value);
}

Мы также можем изменить данные, которые он содержит, так же, как изменить данные в переменных, созданных с помощью ключевого слова var.

Если вы хотите создать переменную, которая может содержать пустые данные, эта переменная гораздо более рекомендуется, поскольку используемый ею тип данных не может измениться.

Чтобы изменить данные, принадлежащие переменной, мы должны убедиться, что новые данные, которые будут использоваться, имеют тот же тип данных, что и тип данных этой переменной, если тип данных переменной не является динамическим.

Неизменяемая переменная.

Неизменяемая переменная — это переменная с данными, которые нельзя изменить.

В Dart есть два способа создания неизменяемых переменных, а именно использование ключевого слова final перед именем переменной или использование ключевого слова const перед именем переменной.

void main() {
  final value = "Halo!";
  print(value);
}

Используя ключевое слово final, мы можем создать неизменяемую переменную, которая должна иметь данные во время выполнения.

void main() {
  final value = [1, 2, 3, 4, 5];
  value.add(6);
  print(value);
}

Когда эта переменная имеет набор данных, данные в наборе все еще могут быть изменены, но если мы изменим набор, который у него есть, на данные или другой набор, он не сможет этого сделать.

void main() {
  final int value = 404;
  print(value);
}

По умолчанию final определяет тип данных, который будет использоваться автоматически на основе имеющихся у него данных, но мы также можем указать тип данных, который будет использоваться вручную.

void main() {
  const value = "Halo!";
  print(value);
}

Используя ключевое слово const, мы можем создавать неизменяемые переменные, которые должны иметь данные во время компиляции.

void main() {
  const value = [1, 2, 3, 4, 5];
  print(value);
}

В отличие от переменной, использующей ключевое слово final , когда эта переменная имеет набор данных, данные в этом наборе нельзя изменить, а если мы изменим набор, который у него есть, на данные или другой набор, это все равно невозможно.

void main() {
  const int value = 404;
  print(value);
}

Но так же, как переменные, которые используют ключевое слово final, по умолчанию const также определяет тип данных, который будет использоваться автоматически, на основе имеющихся у него данных, но мы также можем указать тип данных, который будет использоваться вручную.

Почти все неизменяемые переменные не могут принимать нулевые данные (Non-Nullable)

Поздняя переменная.

Поздняя переменная — это переменная, которая будет создана позже при доступе к этой переменной.

Если мы создадим эту переменную без доступа к ней, эта переменная будет считаться несуществующей или не созданной Dart.

Эта переменная может быть изменяемой и неизменной.

void main() {
  late var value = "Value";
  print(value);
}
void main() {
  late String value = "Value";
  print(value);
}

Чтобы сделать эту переменную неизменной, мы можем использовать два способа, а именно, используя ключевое слово var или указав тип данных перед именем переменной.

void main() {
  late var value = "Value";
  value = "New Value!";
  print(value);
}

Мы можем изменить данные, которые он содержит, так же, как и изменить данные в других изменяемых переменных.

void main() {
  late final value = "Value";
  print(value);
}

Мы можем использовать ключевое слово final, чтобы сделать эту переменную неизменяемой.

void main() {
  late final String value = "Value";
  print(value);
}

Точно так же, как при создании переменной с использованием ключевого слова final, в этой переменной мы также можем указать тип данных вручную.

Ключевое слово const нельзя использовать для этой переменной.

если у вас есть какие-либо вопросы по программированию Dart, вы можете задать их мне через мой Instagram @qrvkzy, я буду рад ответить на ваши вопросы.