kar*_*sev 30 uuid identity unique uniqueidentifier dart
我写websocket聊天.如何为用户生成唯一ID?
现在我用这个代码:
id = new DateTime.now().millisecondsSinceEpoch;
Run Code Online (Sandbox Code Playgroud)
有没有更整洁的解决方案?
Pas*_*cal 46
在 2020 年,你可以做UniqueKey();一个内置的类:
https://api.flutter.dev/flutter/widgets/UniqueKey-class.html
笔记
一个只等于它自己的键。
这不能用 const 构造函数创建,因为这意味着所有实例化的键都是同一个实例,因此不是唯一的。
Chr*_*ett 43
1.有一个UUID pub包:
http://pub.dartlang.org/packages/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'
Run Code Online (Sandbox Code Playgroud)
2.这SRC具有镖GUID发生器
我不会直接在这里发布函数src,因为它没有明显的许可证,但示例用法如下:
final String uuid = GUIDGen.generate();
Run Code Online (Sandbox Code Playgroud)
dev*_*001 24
我使用微秒而不是毫秒,这样更准确,并且不需要添加任何包。
String idGenerator() {
final now = DateTime.now();
return now.microsecondsSinceEpoch.toString();
}
Run Code Online (Sandbox Code Playgroud)
小智 5
除了 uuid,您还可以尝试使用此方法生成小的唯一键:
https://pub.dev/packages/nanoid
他们甚至有一个碰撞计算器:
https://zelark.github.io/nano-id-cc/
| 归档时间: |
|
| 查看次数: |
12588 次 |
| 最近记录: |