Swithch Matrix em Dart 3
Tempo de leitura: < 1 minute
Desde o Dart 3, você pode combinar várias variáveis em um registro e substituir as cadeias if-else por uma expressão switch.
Isso é conhecido como matriz de alternância e permite aplicar correspondência de padrão a vários valores de uma só vez.
Forma Antiga
enum ConnectionState { none, waiting, active, donw } String getStatus(ConnectionStatus state, bool hasData, bool hasError) { if(state == Connection.waiting) { return 'Loading'; } else if (hasData) { return 'Got data'; } else if (hasError) { return 'Got error'; } else { return 'Unknow status'; } }
Forma Nova
enum ConnectionState { none, waiting, active, donw } String getStatus(ConnectionStatus state, bool hasData, bool hasError) { final status = (status, hasData, hasError); <<<<< 'Combinar valores dentro de um registro' return swith (status) { (ConnectionState.waiting, _, _) => 'Loading', (_, true, _) => 'Got data', (_, _, true) => 'Got error', >>>>>> 'Reescrever a lógica condicional como uma expressão switch' _ => 'Unknow status', }; }
Não deixe de conhecer meus Ebooks de Flutter/Dart
play.google.com
play.google.com
play.google.com