F
Flutter. Много
@flutter_amiga3.0K подп.
1.4Kпросмотров
45.7%от подписчиков
26 февраля 2026 г.
📷 ФотоScore: 1.5K
Hola, Amigos! Сегодня обсудим pattern matching. Он сокращает boilerplate, улучшает код и повышает безопасность работы со state. 1. Деструктуризация с помощью паттернов Пример с Records: var user = ('Naman', 29); var (name, age) = user; print(name); print(age); 2. Деструктуризация объектов Есть класс: class User { final String name; final int age; User(this.name, this.age); } Можно извлечь свойства так: var User(:name, :age) = user; Это эквивалентно: var name = user.name; var age = user.age; 3. Pattern Matching в switch Традиционный подход: if (state is Success) { final data = state.data; } Подход с pattern matching switch (state) { case Success(data: var data): render(data); case Loading(): showLoader(); case Error(message: var msg): showError(msg); } 4. Сопоставление коллекций Паттерны умеют анализировать списки и map: switch(list) { case []: print("Empty"); case [first, second]: print(first); } switch(json) { case {'status': 'ok', 'data': var d}: process(d); case {'status': 'error', 'message': var m}: showError(m); } 5. Guard-условия switch(user) { case User(age: var age) when age > 18: print("Adult"); case _: print("Minor"); } А вы используете pattern matching?
1.4K
просмотров
1343
символов
Нет
эмодзи
Да
медиа

Другие посты @flutter_amiga

Все посты канала →
Hola, Amigos! Сегодня обсудим pattern matching. Он сокращает — @flutter_amiga | PostSniper