web-dev-qa-db-fra.com

Comment générer un identifiant unique dans Dart

J'écris un chat websocket. Comment générer un identifiant unique pour l'utilisateur?

maintenant j'utilise ce code:

id = new DateTime.now().millisecondsSinceEpoch;

existe-t-il une solution plus soignée?

36
Sergey Karasev

1. Il existe un package de pub UUID:

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

exemple d'utilisation:

// 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. Ce src a un générateur Dart GUID

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

Je ne publierai pas la fonction src ici directement car il n'y a pas de licence apparente avec elle, mais l'exemple d'utilisation est le suivant:

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

En l'an 2020, vous pouvez faire UniqueKey(); qui est une classe intégrée:

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

6
Pascal