Non-nullable-типы
Часть раздела Основы путешествия по Dart на Coddy — урок 79 из 94.
Ненулевые типы в Dart являются значением по умолчанию для всех переменных. Когда вы объявляете переменную без символа ?, она всегда должна иметь значение и не может быть null.
Создайте ненулевую переменную типа String:
String name = 'Dart';
print(name);После выполнения приведённого выше кода вывод будет:
DartПопытка присвоить null неприводимой к null переменной вызывает ошибку:
// This would cause an error:
// String language = null;Ненульловые переменные должны быть инициализированы значением:
int score = 100;
bool isActive = true;
double price = 9.99;
print('Score: $score, Active: $isActive, Price: $price');После выполнения приведённого выше кода вывод будет:
Score: 100, Active: true, Price: 9.99Задание
НовичокВ этом вызове вы попрактикуетесь в работе с ненулевыми типами в Dart. По умолчанию переменные в Dart не могут быть null, если вы явно не сделаете их nullable с помощью символа ?.
Ваша задача — исправить код, присвоив подходящие значения ненулевым переменным, которые в настоящее время не инициализированы.
Ожидаемый вывод:
Name: John
Age: 25
Is active: true
Score: 95.5Шпаргалка
Ненулевые типы в Dart являются значением по умолчанию для всех переменных. Они всегда должны иметь значение и не могут быть null.
Объявляйте ненулевые переменные с начальными значениями:
String name = 'Dart';
int score = 100;
bool isActive = true;
double price = 9.99;Ненулевым переменным нельзя присваивать null:
// This would cause an error:
// String language = null;Используйте интерполяцию строк для отображения значений переменных:
print('Score: $score, Active: $isActive, Price: $price');Попробуйте сами
void main() {
// Эти переменные не-nullable и требуют значений
// TODO: Инициализируйте эти переменные подходящими значениями
String name;
int age;
bool isActive;
double score;
// Этот код выведет значения
print('Name: $name');
print('Age: $age');
print('Is active: $isActive');
print('Score: $score');
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа13Null-безопасность в деталях
Понимание nullNullable-типыNon-nullable-типыОператор утверждения nullПоздняя инициализацияПовторение - Безопасная обработка null2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числа