Menu
Coddy logo textTech

Операторы проверки типа

Часть раздела Основы путешествия по Dart на Coddy — урок 26 из 94.

В Dart операторы проверки типов проверяют типы переменных во время выполнения: is проверяет, соответствует ли переменная типу, тогда как is! проверяет, что это не так.

void main() {
  var number = 42;
  var isInteger = number is int;
  
  print('Is $number an integer? $isInteger');
}
void main() {
  var price = 9.99;
  var isNotInteger = price is! int;
  
  print('Is $price not an integer? $isNotInteger');
}
void main() {
  var value1 = 'Hello';
  var value2 = 42;
  var value3 = true;
  
  print('$value1 is a String: ${value1 is String}');
  print('$value2 is a double: ${value2 is double}');
  print('$value3 is a bool: ${value3 is bool}');
}
challenge icon

Задание

Легко

Создайте программу на Dart, которая использует операторы проверки типов (is и is!) для проверки типов переменных:

  1. Создайте переменную number со значением 42 с использованием вывода типов (var)
  2. Создайте переменную decimal со значением 3.14 с использованием вывода типов
  3. Создайте переменную text со значением "Hello" с использованием вывода типов
  4. Создайте переменную active со значением true с использованием вывода типов
  5. Используйте оператор is для проверки, является ли каждая переменная правильного типа (int, double, String, bool)
  6. Используйте оператор is! для проверки, что каждая переменная НЕ является неправильного типа
  7. Выведите результаты в точном формате, показанном в ожидаемом выводе

Ваш вывод должен соответствовать этому точному формату:

number is int: true
number is! String: true
decimal is double: true
decimal is! int: true
text is String: true
text is! bool: true
active is bool: true
active is! double: true

Шпаргалка

Операторы проверки типа в Dart проверяют типы переменных во время выполнения:

  • is - проверяет, соответствует ли переменная типу
  • is! - проверяет, что переменная не соответствует типу
var number = 42;
var isInteger = number is int;        // true
var isNotString = number is! String;  // true

print('Is $number an integer? $isInteger');
print('Is $number not a string? $isNotString');

Вы можете проверять несколько типов:

var value1 = 'Hello';
var value2 = 42;
var value3 = true;

print('$value1 is a String: ${value1 is String}');  // true
print('$value2 is a double: ${value2 is double}');  // false
print('$value3 is a bool: ${value3 is bool}');      // true

Попробуйте сами

void main() {
  // Создаём переменные с использованием вывода типов
  var number = ?;
  var decimal = ?;
  var text = ?;
  var active = ?;
  
  // Проверяем типы с помощью оператора 'is' и выводим результаты
  print("number is int: ${number ? int}");
  print("number is! String: ${number ? String}");
  
  print("decimal is double: ${decimal ? double}");
  print("decimal is! int: ${decimal ? int}");
  
  print("text is String: ${text ? String}");
  print("text is! bool: ${text ? bool}");
  
  print("active is bool: ${active ? bool}");
  print("active is! double: ${active ? double}");
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы