dict_dart_extension 1.0.0
dict_dart_extension: ^1.0.0 copied to clipboard
为 Iterable/List 提供空安全的常用扩展方法,包括 firstOrNull、safeGet 等,内部项目通用的 Dart 语法糖工具库。
example/example.dart
import 'package:dict_dart_extension/dict_dart_extension.dart';
/// 演示 dict_dart_extension 提供的空安全 Iterable/List 扩展方法。
///
/// 运行:`dart run example/example.dart`
void main() {
final List<int>? nums = [1, 2, 3];
final List<int>? empty = [];
final List<int>? nothing = null;
// isNullOrEmpty
print('nums.isNullOrEmpty = ${nums.isNullOrEmpty}'); // false
print('empty.isNullOrEmpty = ${empty.isNullOrEmpty}'); // true
print('nothing.isNullOrEmpty = ${nothing.isNullOrEmpty}'); // true
// firstOrNull / lastOrNull
print('nums.firstOrNull = ${nums.firstOrNull}'); // 1
print('empty.firstOrNull = ${empty.firstOrNull}'); // null
print('nums.lastOrNull = ${nums.lastOrNull}'); // 3
// getElementOrNull(越界安全)
print('nums.getElementOrNull(1) = ${nums.getElementOrNull(1)}'); // 2
print('nums.getElementOrNull(10) = ${nums.getElementOrNull(10)}'); // null
// firstWhereOrNull
print('firstWhere > 1 = ${nums.firstWhereOrNull((e) => e > 1)}'); // 2
print('firstWhere > 9 = ${nums.firstWhereOrNull((e) => e > 9)}'); // null
// foreachIndex
nums.foreachIndex((element, index) {
print('foreachIndex: $index -> $element');
});
// isFirst / isLast
print('nums.isFirst(1) = ${nums.isFirst(1)}'); // true
print('nums.isLast(3) = ${nums.isLast(3)}'); // true
}