dict_dart_extension 1.0.0
dict_dart_extension: ^1.0.0 copied to clipboard
为 Iterable/List 提供空安全的常用扩展方法,包括 firstOrNull、safeGet 等,内部项目通用的 Dart 语法糖工具库。
dict_dart_extension #
为 Iterable / List 提供一组空安全的常用扩展方法,简化集合的取值与遍历操作,是内部项目通用的 Dart 语法糖工具库。
Features #
在可空的 Iterable<T>? 上提供以下扩展:
isNullOrEmpty— 判断集合是否为null或空。firstOrNull— 取第一个元素,空集合返回null(不抛异常)。lastOrNull— 取最后一个元素,空集合返回null。getElementOrNull(int? index)— 按下标取值,越界或index为null时返回null。firstWhereOrNull(bool Function(T) test)— 取满足条件的第一个元素,找不到返回null。foreachIndex(Function(T element, int index) func)— 带下标的安全遍历,集合为null时直接跳过。isFirst(T element)/isLast(T element)— 判断元素是否为首/末元素。
Getting started #
在 pubspec.yaml 中添加依赖:
dependencies:
dict_dart_extension: ^1.0.0
然后执行 flutter pub get(或 dart pub get)。
Usage #
import 'package:dict_dart_extension/dict_dart_extension.dart';
void main() {
final List<int>? nums = [1, 2, 3];
final List<int>? empty = [];
final List<int>? nothing = null;
print(nums.isNullOrEmpty); // false
print(empty.isNullOrEmpty); // true
print(nothing.isNullOrEmpty); // true
print(nums.firstOrNull); // 1
print(empty.firstOrNull); // null
print(nums.lastOrNull); // 3
print(nums.getElementOrNull(1)); // 2
print(nums.getElementOrNull(10)); // null(越界安全)
print(nums.firstWhereOrNull((e) => e > 1)); // 2
print(nums.firstWhereOrNull((e) => e > 9)); // null
nums.foreachIndex((element, index) {
print('$index -> $element');
});
print(nums.isFirst(1)); // true
print(nums.isLast(3)); // true
}
更多示例见 example/。
Additional information #
该库为内部项目需求设计,API 可能随业务调整而变化,通用场景请自行评估兼容性。问题反馈请通过仓库主页提交。