Рубрики
Flutter

Dart 3.5: Новые возможности языка в 2025 году

Обзор новых возможностей Dart 3.5: pattern matching, records, классы-миксины и другие улучшения языка для Flutter разработки.

Dart 3.5 принес значительные улучшения в язык, которые делают разработку на Flutter более продуктивной и код более безопасным. В этой статье разберём ключевые нововведения.

Что нового в Dart 3.5?

  • Pattern matching — мощная система сопоставления с образцом
  • Records — легковесные неизменяемые данные
  • Class modifiers — новый контроль над классами
  • Улучшенные generics
  • Enhanced switch expressions
  • И многое другое

Pattern Matching

Pattern matching — это способ деструктуризации и проверки значений:

// Простой pattern
switch (value) {
  case int x when x > 0:
    print('Positive: $x');
  case int x:
    print('Non-positive: $x');
  case String s:
    print('String: $s');
  default:
    print('Other');
}

// Pattern в переменных
final (name, age) = getUser();
print('$name is $age years old');

// Pattern в циклах
final map = {'a': 1, 'b': 2};
for (final (key, value) in map.entries) {
  print('$key: $value');
}

Records

Records — это неизменяемые данные-классы:

// Объявление record
record User(String name, int age) {
  String get description => '$name is $age years old';
}

// Использование
final user = User('Alice', 30);
print(user.name);      // Alice
print(user.age);       // 30
print(user.description); // Alice is 30 years old

// Деструктуризация
final (name, age) = user;

Заключение

Dart 3.5 делает язык более современным и выразительным. Начните использовать новые возможности в своих проектах уже сегодня!