Flutter插件toxic的介绍与使用方法

Flutter插件toxic的介绍与使用方法

项目概述

TOXIC 是一个 Dart/Flutter 项目,旨在通过一系列扩展方法增强 Dart 语言的核心数据类型,如 IntDoubleString。这些扩展方法简化了常见任务,引入了新的功能,并提升了整体开发体验。

功能扩展

TInt

TInt 扩展了整数类型,提供了多种实用方法:

  • to: 在两个整数之间进行线性插值。
  • plural: 根据整数值确定正确的单数或复数形式。
  • format: 应用本地化的格式化。
  • formatCompact: 提供更紧凑的整数表示。

TString

TString 扩展了字符串功能,提供了转换工具:

  • roadkill, upperRoadkill, dashkill, upperDashkill: 将空格替换为下划线或破折号,并可选择调整大小写。
  • camelCase: 将字符串转换为驼峰式。
  • randomCase: 随机化字符串中的字符大小写。
  • reversed: 反转字符串中的字符顺序。
  • 分割函数: splitSlashes, splitDots, splitAfter, splitLast
  • 大小写函数: capitalize, capitalizeWords

TDouble

TDouble 扩展了双精度浮点数类型,提供了格式化和插值功能:

  • percent: 将双精度浮点数转换为百分比表示。
  • format: 按照本地规则格式化双精度浮点数。
  • formatCompact: 压缩双精度浮点数以更紧凑的格式。
  • to: 在两个双精度浮点数之间进行线性插值。

TFuture

TFutureFuture<T> 添加了执行后的能力:

  • thenRun: 在未来完成之后执行指定的函数。

TMap

TMap 为动态映射处理引入了额外的方法:

  • 重载运算符: 合并 (+) 和键移除 (-)。
  • 排序函数: sortedValuesByKey, sortedKeysByValue
  • 计算函数: compute, computeIfPresent, computeIfAbsent 及其异步变体。
  • 翻转函数: flipFlat, flip
  • 合并函数: 将两个映射合并为一个。

TIterableInt

TIterableInt 为整数迭代器提供了算术和统计扩展:

  • 算术运算符: 乘法 (*), 除法 (~/), 加法 (+), 减法 (-), 取模 (%), 位运算 (^, |, &, <, >, ~, -)。
  • 统计方法: 总和、积、最小值、最大值、平均值(整数和浮点数)、中位数、众数。

TIterableDouble

TIterableDouble 为双精度浮点数迭代器提供了算术和统计操作:

  • 算术运算符: 与 TIterableInt 相同。
  • 统计方法: 与 TIterableInt 相同。

TList

TList 通过元素操作运算符增强了列表类型:

  • 重载运算符: 元素添加 (+) 和移除 (-)。
  • ["a", "c", "d"].toBack("a") 将元素移动到列表的末尾。
  • ["a", "c", "d"].toFront("a") 将元素移动到列表的开头。
  • List.shuffle([Random]), List.popRandom([Random]), List.randomIndex([Random]) 提供随机化功能。

TSet

TSet 通过额外的运算符提供了集合操作:

  • 重载运算符: 元素添加 (+) 和移除 (-)。

TIterable

TIterable 为迭代器添加了实用和转换方法:

  • T? = Iterable<T>.select((e) => bool)T? = Iterable<T>.where((e) => bool).firstOrNull 相同。
  • 添加方法: 在迭代器的开头或结尾添加单个或多个元素。
  • 统计和实用函数: 计数、去重、洗牌。
  • 访问器: 获取最后一个索引、中间索引、中间值。
  • 排序和映射函数: 排序、转换为键/值对、软映射转换为列表。

使用示例

以下是展示如何在 Dart 代码中使用 TOXIC 扩展的具体示例:

TInt 示例

int count = 2;
print(count.to(10, 0.5)); // 输出: 6.0
print(count.plural("apple", "apples")); // 输出: "apples"
print(count.format()); // 输出 "2" 在大多数区域设置中
print(count.formatCompact()); // 输出 "2"

TString 示例

String text = "Hello World";
print(text.roadkill); // 输出: "hello_world"
print(text.upperRoadkill); // 输出: "HELLO_WORLD"
print(text.camelCase); // 输出: "helloWorld"
print(text.reversed); // 输出: "dlroW olleH"
print(text.capitalizeWords()); // 输出: "Hello World"

TDouble 示例

double value = 0.123;
print(value.percent(2)); // 输出: "12.30%"
print(value.format()); // 本地化输出,例如 "0.123"
print(value.formatCompact()); // 输出例如 "123"
print(value.to(1.0, 0.5)); // 输出 0.5615

TFuture 示例

Future<int> futureValue = Future.value(5);
futureValue.thenRun((value) => print("Value: $value"));
// 未来完成后,输出: "Value: 5"

TMap 示例

Map<String, int> map1 = {'a': 1, 'b': 2};
Map<String, int> map2 = {'c': 3};
Map<String, int> combined = map1 + map2;
print(combined); // 输出: {'a': 1, 'b': 2, 'c': 3}
Map<String, int> reduced = combined - 'b';
print(reduced); // 输出: {'a': 1, 'c': 3}

TIterableInt 示例

Iterable<int> numbers = [1, 2, 3, 4];
print(numbers * 2); // 输出: [2, 4, 6, 8]
print(numbers.sum()); // 输出: 10
print(numbers.average()); // 输出: 2.5

TIterableDouble 示例

Iterable<double> doubles = [1.5, 2.5, 3.5];
print(doubles + 1); // 输出: [2.5, 3.5, 4.5]
print(doubles.sum()); // 输出: 7.5
print(doubles.average()); // 输出: 2.5

TList 示例

List<int> list = [1, 2, 3];
List<int> extended = list + 4;
print(extended); // 输出: [1, 2, 3, 4]
List<int> reduced = extended - 2;
print(reduced); // 输出: [1, 3, 4]

TSet 示例

Set<int> set = {1, 2, 3};
Set<int> extended = set + 4;
print(extended); // 输出: {1, 2, 3, 4}
Set<int> reduced = extended - 2;
print(reduced); // 输出: {1, 3, 4}

TIterable 示例

Iterable<int> numbers = [1, 2, 2, 3];
Iterable<int> uniqueNumbers = numbers.deduplicated();
print(uniqueNumbers.toList()); // 输出: [1, 2, 3]
Iterable<int> shuffledNumbers = numbers.shuffled();
print(shuffledNumbers.toList()); // 每次随机排序
Map<int, int> occurrences = numbers.occurrences();
print(occurrences); // 输出: {1: 1, 2: 2, 3: 1}

更多关于Flutter插件toxic的介绍与使用方法的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter插件toxic的介绍与使用方法的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 开发中,“toxic” 并不是 Flutter 官方或社区广泛认可的一个已知插件或库。如果你在某个地方看到了 “toxic” 插件,可能是某个开发者或团队自行开发的插件,或者是一个内部使用的工具。

1. 确认插件的来源

  • 首先,确认你是在哪里看到 “toxic” 插件的。如果是在某个 GitHub 仓库、博客、论坛或其他地方,建议你查看该插件的文档、源代码和许可证信息。
  • 如果是在某个项目中遇到的,可以查看项目的 pubspec.yaml 文件,找到该插件的依赖项,并查看其版本和来源。

2. 查看插件的文档

  • 如果 “toxic” 插件有文档,仔细阅读文档以了解其功能、使用方法和注意事项。
  • 文档通常会提供安装步骤、API 参考、示例代码等信息,帮助你快速上手。

3. 安装插件

  • pubspec.yaml 文件中添加插件的依赖项。例如:
    dependencies:
      toxic: ^1.0.0
    
  • 然后运行 flutter pub get 来安装插件。

4. 探索插件的功能

  • 在代码中导入插件:
    import 'package:toxic/toxic.dart';
回到顶部