web-dev-qa-db-ja.com

Dartで一意のIDを生成する方法

私はウェブソケットチャットを書きます。ユーザーの一意のIDを生成する方法は?

今私はこのコードを使用します:

id = new DateTime.now().millisecondsSinceEpoch;

もっときちんとした解決策はありますか?

36
Sergey Karasev

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'

2。このsrcにはDart GUID generatorがあります

https://github.com/MikeMitterer/AndroidIconGenerator.Dart/blob/master/lib/src/model/communication/GUIDGen.Dart

明確なライセンスがないため、ここでは関数srcを直接投稿しませんが、使用例は次のとおりです。

final String uuid = GUIDGen.generate();
51
Chris Buckett

2020年には、組み込みクラスであるUniqueKey();を実行できます。

https://api.flutter.dev/flutter/widgets/UniqueKey-class.html

6
Pascal