这个例子显示了学习如何在Dart编程语言中生成唯一的ID - GUID, UUID,并附有例子。

本教程使用 uuid包在dart和flutter中。
UUID是一个16字节的唯一ID,每4位数字之间用连字符(-)分隔。
在flutter和dart中安装uuid包
首先,将该包添加到pubspec.yaml 。
这是一个在项目创建过程中产生的yaml文件,否则你可以创建一个文件pubspec.yamluuid: ^3.0.6 添加到文件中的依赖属性中
name: dartapp
description: >-
dart example application.
version: 1.0.0
environment:
sdk: '>=2.10.0 <3.0.0'
dependencies:
uuid: ^3.0.6
使用dart或flutter命令安装依赖项 打开一个终端窗口。
在Dart项目中,运行dart pub get 命令 在flutter项目中,运行flutter pub get 命令
PS A:\work\dart> dart pub get
Resolving dependencies...
+ collection 1.16.0
+ crypto 3.0.1
+ typed_data 1.3.0
+ uuid 3.0.6
Changed 4 dependencies!
一旦安装了依赖关系,让我们写一个dart程序
如何在Dart或Flutter中生成唯一ID
UUID包提供了不同版本的唯一键
-
uuid v1:用基于时间戳的逻辑生成唯一ID -
uuid v2:用基于随机id的逻辑生成唯一的id -
uuid v5:用命名空间sha1的逻辑生成UUID -
在程序中导入
package:uuid/uuid.dart包 -
创建Uuid对象。
-
调用对象的v1()、v2()、v5()函数。
下面是一个在dart程序中生成唯一或UUID密钥的例子。
import 'package:uuid/uuid.dart';
void main() {
var uuid = Uuid();
print(uuid.v1());//59976040-a675-11ec-8ee4-1f922f66b681
print(uuid.v4()); //38541b4a-26ee-4a4a-b0d6-e524254ff3b0
print(uuid.v5(Uuid.NAMESPACE_NIL,"cloudhadoop.com")); //499cd2aa-9aab-5c3d-aff5-7f12306f02fb
}
输出
59976040-a675-11ec-8ee4-1f922f66b681
38541b4a-26ee-4a4a-b0d6-e524254ff3b0
499cd2aa-9aab-5c3d-aff5-7f12306f02fb
如何在dart和flutter中生成空的UUID?
有时,我们希望有一个空的UUID,从dart或flutter的方法或函数中返回。这比空值在类型安全方面有更多优势。
- 在程序中导入
uuid/uuid.dart包 - 为Uuid类调用NAMESPACE_NIL静态成员
- 它返回完全为零的空UUID
下面是一个生成空UUID程序的例子
import 'package:uuid/uuid.dart';
void main() {
const emptyUuid = Uuid.NAMESPACE_NIL;
print(emptyUuid);
}
输出
00000000-0000-0000-0000-000000000000