How to generate unique id in Dart

后端 未结 3 1670
遥遥无期
遥遥无期 2020-12-29 18:03

I write websocket chat. How to generate unique id for user?

now i use this code:

id = new DateTime.now().mil         


        
相关标签:
3条回答
  • 2020-12-29 18:12

    In year 2020 you can do UniqueKey(); which is a built in class:

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

    0 讨论(0)
  • 2020-12-29 18:18

    If you like MongoDB style ids you could consider this small package that will help create the object id:

    https://pub.dev/packages/crossplat_objectid

    import 'package:bson_objectid/bson_objectid.dart';
    
    main() {
      ObjectId id1 = new ObjectId();
      print(id1.toHexString());
    
      ObjectId id2 = new ObjectId.fromHexString('54495ad94c934721ede76d90');
      print(id2.timestamp);
      print(id2.machineId);
      print(id2.processId);
      print(id2.counter);
    }
    
    0 讨论(0)
  • 2020-12-29 18:20

    1. There is a UUID pub package:

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

    example usage:

    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'
    

    2. This src has a dart GUID generator

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

    I'll not post the function src here directly as there is no apparent licence with it, but example usage is as follows:

    final String uuid = GUIDGen.generate();
    
    0 讨论(0)
提交回复
热议问题