Skip to content

Instantly share code, notes, and snippets.

@internetova
Created November 18, 2020 12:32
Show Gist options
  • Save internetova/ea1f9e8b7334eff6c88311540daef3ef to your computer and use it in GitHub Desktop.
Save internetova/ea1f9e8b7334eff6c88311540daef3ef to your computer and use it in GitHub Desktop.
dart_variables
/*
При инициализации простой переменной (числа, строки) значением тип можно не указывать, так как dart сам определит её тип.
Тип необходимо указывать если мы объявляем пустую переменную или работаем с коллекцией.
*/
var a = 1; //глобальная перменная типа int
void main() {
var b = 2.0; //локальная перменная типа double
var text = 'Dart'; //локальная перменная типа String
/*
Dart статически типизированный язык, поэтому все операции должны производиться с данными одного типа.
При попытках использовать данные разных типов компилятор будет выводить ошибку.
После инициализации переменной с ключевым словом var изменить её тип в дальнейшем нельзя.
*/
// a = text; - ошибка: несоответствия типов переменных
print(a);
/*
Менять тип данных можно только если объявлять их с ключевым словом dynamic.
Но это не очень хорошая практика.
*/
dynamic din = 1;
din = text;
print(din);
// Вопрос 5
final fin = 'Я жду когда ко мне обратятся';
const con = 'Я готова к и спользованию';
// fin = 'qqq'; - ошибка: значение можно установить только 1 раз
// con = 'qqq'; - ошибка: нельзя установить новое значение
/*
Переменные созданные с помощью const создаются во время компиляции и изменению в дальнейшем не подлежат.
Данные будут помещены в память независимо от того, будет ли использована эта переменная или нет.
Переменные созданные с помощью final создаются во время выполнения программы. Если во время выполнения программы
не было обращения к таким переменным, то и место в памяти они занимать не будут. Инициализируется такая переменная
всего один раз - при первом обращении.
Хорошей практикой по использованию типов переменных считается:
const -> final -> var
*/
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment