我写的是WebSocket聊天. 如何为用户生成唯一标识?

现在我使用以下代码:

id = new DateTime.now().millisecondsSinceEpoch;

有没有更好的解决方案?

推荐答案

1.有一个UUID发布包:

http://pub.dartlang.org/packages/uuid

示例用法:

import 'package:uuid/uuid.dart';

// Create uuid object
var uuid = Uuid();

// Generate a v1 (time-based) id
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'

// Generate a v4 (random) id
uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'

// Generate a v5 (namespace-name-sha1-based) id
uuid.v5(uuid.NAMESPACE_URL, 'www.google.com'); // -> 'c74a196f-f19d-5ea9-bffd-a2742432fc9c'

这个src有一个省道指南生成器.

https://github.com/MikeMitterer/AndroidIconGenerator.DART/blob/445884924/lib/src/model/communication/GUIDGen.dart

我不会直接在这里发布函数src,因为它没有明显的许可,但示例用法如下:

final String uuid = GUIDGen.generate();

Dart相关问答推荐

Dart 3.3接口字段类型升级不起作用

具有级联省道的三元算子的奇异行为

为什么 Dart 的编译器认为代码可能为空,而代码保证它不能为空?

将 Stream> 转换为 Stream

如何在 Flutter 中向 AnimationController 添加 Curves 类动画?

在 Dart 中处理字节数组时,使用 Uint8List 优于 List 有什么优势?

如何在flutter中使用rootBundle加载图片?

`pub get` 将 pubspec 依赖项下载到哪里?

如何解决Id does not exist错误?

Flutter 在整个屏幕上禁用touch

Flutter 在 main 中读取共享首选项,然后决定哪个启动页面?

Flatter BLoC-如何将参数传递给事件?

如何使 FadeInImage 循环?

全局减慢 Flutter 中的动画

如何循环遍历元素列表

在 Dart 中将类类型作为变量传递

Dart:将十进制转换为十六进制

dart中是否有类似struct struct 的东西?

从 Dart 应用访问 pubspec.yaml 属性

如何初始化构造函数主体中的最终字段?