我正在尝试将 onElse 函数添加到 iterator.firstWhere 方法,但我无法获得正确的语法。 我试过类似的东西
代码语言:javascript复制List<String> myList =
String result = myList.firstWhere((o) => o.startsWith('foo'), (o) => null);
但是编译器有一个错误
1 positional arguments expected, but 2 found
我确定这是一个简单的语法问题,但它让我难倒
最佳答案
'orElse' 是一个命名的可选参数。
代码语言:javascript复制void main() {
checkOrElse(['bar', 'bla']);
checkOrElse(['bar', 'bla', 'foo']);
}
void checkOrElse(List<String> values) {
String result = values.firstWhere((o) => o.startsWith('foo'), orElse: () => '');
if (result != '') {
print('found: $result');
} else {
print('nothing found');
}
}