Functions and Records
Records with Named Fields
A record can carry named fields with ({String name, int score}). Named fields make the call site and field access self-documenting while still avoiding a full class declaration.
Program
Play the program to build a named-field record and read its fields with dot syntax.
record_named_fields.dart
({String name, int score}) buildScore(String name, int score) {
return (name: name, score: score);
}
void main() {
var points = ;
var result = buildScore('Ada', points);
var message = '${result.name}: ${result.score}';
print(message);
}
({String name, int score}) buildScore(String name, int score) {
return (name: name, score: score);
}
void main() {
var points = ;
var result = buildScore('Ada', points);
var message = '${result.name}: ${result.score}';
print(message);
}
({String name, int score}) buildScore(String name, int score) {
return (name: name, score: score);
}
void main() {
var points = ;
var result = buildScore('Ada', points);
var message = '${result.name}: ${result.score}';
print(message);
}
named record type
`({String name, int score})` declares a record with two named fields.
record literal
`(name: name, score: score)` stores values under field names instead of positions.
field access
`result.name` and `result.score` read the named fields directly, so later code does not rely on tuple order.