dict_dart_extension 1.0.0 copy "dict_dart_extension: ^1.0.0" to clipboard
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
}
0
likes
140
points
36
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

为 Iterable/List 提供空安全的常用扩展方法,包括 firstOrNull、safeGet 等,内部项目通用的 Dart 语法糖工具库。

Homepage

License

MIT (license)

Dependencies

flutter

More

Packages that depend on dict_dart_extension