在启用空值安全的情况下,如何在Iterable.firstWhere中从orElse返回空值?
在 null-safe dart 之前,以下是有效的语法:
final list = [1, 2, 3];
final x = list.firstWhere((element) => element > 3, orElse: () => null);
if (x == null) {
// do stuff...
}
现在,firstWhere需要orElse返回 an int,而不是 an int?,因此我不能返回 null。
如何从 返回 null orElse?
回答
一个方便的函数 ,firstWhereOrNull解决了这个确切的问题。
导入package:collection,其中包括Iterable.
import 'package:collection/collection.dart';
final list = [1, 2, 3];
final x = list.firstWhereOrNull((element) => element > 3);
if (x == null) {
// do stuff...
}
THE END
二维码