Научись хранить значения в типизированных переменных, писать функции и понимать защиту от null.
Открыть этот урок в KodokonПрежде чем строить экраны, освоим основы Dart - языка Flutter. Переменная - это подписанная коробка в памяти компьютера, в которую ты кладёшь значение, чтобы использовать его позже. В Dart у каждой переменной есть тип: природа того, что она может хранить. Четыре самых частых типа - это int (целое число, например 28), double (десятичное число, например 1.65), String (строка символов, то есть текст в кавычках) и bool (булево значение: либо true, либо false). Ключевое слово var позволяет Dart самому определить тип по тому значению, которое ты передал.
void main() {
var name = "Camille";
int age = 28;
double height = 1.65;
bool isStudent = true;
print(name);
print(age);
print(height);
print(isStudent);
}print выводит значение в консоль - текстовую область, куда программа пишет свои сообщения: очень удобно, чтобы проверить, что происходит. Чтобы вставить переменную прямо в середину текста, Dart предлагает интерполяцию: поставь символ $ перед именем переменной, прямо внутри строки. Ещё одно полезное ключевое слово, final, объявляет переменную, которая больше никогда не изменится после получения первого значения: используй его сразу, как только значение не должно меняться.
void main() {
final city = "Lyon";
var temperature = 21;
print("In $city, it is $temperature degrees.");
}Функция - это небольшой переиспользуемый блок кода, у которого есть имя, который может принимать параметры (входные значения, в круглых скобках) и возвращать результат с помощью ключевого слова return. Объявляя её, ты пишешь сначала тип результата, затем имя, затем параметры. Тип void означает "ничего не возвращает": именно так устроена main, точка входа программы.
int add(int a, int b) {
return a + b;
}
String greet(String name) {
return "Hello, $name!";
}
void main() {
print(add(2, 3));
print(greet("Nadia"));
}Последнее ключевое понятие: null safety. null - это особое значение, которое означает "ничего, никакого значения". Забытые null исторически были одной из главных причин падения приложений. Dart защищает тебя: по умолчанию переменная не может содержать null. Чтобы разрешить это явно, добавь к типу вопросительный знак: String? читается как "строка символов или ничего". Оператор ?? затем подставляет запасное значение, которое используется только если переменная равна null.
void main() {
String? nickname;
print(nickname ?? "No nickname yet");
nickname = "Momo";
print(nickname);
}String? nickname?int add(int a, int b) { return a + b; } что выведет print(add(2, 3))?