Records en Dart
Agrupa valores sin una clase; la forma es el tipo.
// A record bundles values without a class; the shape is the type.
(double, double) hideLocation() => (52.74, 0.39);
({String species, int count}) bestOfDay() =>
(species: 'marsh harrier', count: 4);
void main() {
// Positional records destructure by position.
final (lat, lon) = hideLocation();
print('Hide at $lat N, $lon E');
// Named fields read by name, destructured or dotted.
final best = bestOfDay();
print('${best.count} ${best.species}');
final (:species, :count) = bestOfDay();
print('$species x$count');
}
Cómo funciona
(double, double)es un tipo de record posicional.({String species, int count})nombra sus campos.- Desestructura por posición, por
.campo, o con(:species, :count).
Palabras clave y builtins usados aquí
Stringdoublefinalintvoid
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 520
- Tokens
- 120
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 111 segundos.
Paso 1 de 3 en Records y patrones; paso 19 de 27 en Fundamentos del lenguaje.