接口设计
顾名思义id生成器的只需要一个接口,这个接口就是获取ID
// ID生成器的接口类型。 type IdGenerator interface { GetUint32() uint32 // 获得一个uint32类型的ID。 }
具体实现
这里可以先简要的介绍32位的id生成器如何生成。首先需要一个标记当前分配的ID,ID最大值,还有锁-保证并发ID不重复。
结构体如下:
// ID生成器的实现类型。 type cyclicIdGenerator struct { sn uint32 // 当前的ID。 ended