В языке Dart (используемом во Flutter) ключевые слова final, const и var имеют разные значения:
Объясните отличия между ключевыми словами final, const и var в контексте программирования.
В языке Dart (используемом во Flutter) ключевые слова final, const и var имеют разные значения:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В языке Dart (используемом во Flutter) ключевые слова final, const и var имеют разные значения:
var— объявляет переменную с неявным типом, значение которой можно изменить после инициализации.final— объявляет переменную, которую можно инициализировать только один раз. После присвоения значение нельзя изменить, но если это объект, его внутреннее состояние может изменяться.const— объявляет константу времени компиляции. Значение должно быть известно на этапе компиляции и не может изменяться вообще. Такие объекты являются неизменяемыми.
Пример:
var a = 5;
a = 10; // допустимо
final b = 20;
// b = 30; // ошибка, нельзя изменить
const c = 100;
// c = 200; // ошибка, нельзя изменить
final list = [1, 2, 3];
list.add(4); // допустимо, изменяется содержимое списка
const list2 = [1, 2, 3];
// list2.add(4); // ошибка, const объекты неизменяемы