diff --git a/C#.NET/README.md b/C#.NET/README.md index 007bea0..89ae624 100644 --- a/C#.NET/README.md +++ b/C#.NET/README.md @@ -8,21 +8,25 @@ ``` -## 调用示例 +## 调用示例(C#) + +调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: + ``` -// 全局初始化设置WorkerId,默认最大2^16-1。(初始化过程全局只需一次,且必须最先设置) -var options = new IdGeneratorOptions(){ WorkerId = 1}; +// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: +var options = new IdGeneratorOptions(1); +// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength +// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 +// 保存参数(必须的操作,否则以上设置都不能生效): YitIdHelper.SetIdGenerator(options); +// 以上初始化过程只需全局一次,且必须在第2步之前设置。 -// 初始化以后,就可以在需要的地方调用方法生成ID。 +// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: var newId = YitIdHelper.NextId(); - ``` -如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,必须使用**单例**模式。 -## options 默认值及说明 +如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,必须使用**单例**模式。 -参考源码:/Contract/IdGeneratorOptions.cs ## 事件说明 diff --git a/Go/README.md b/Go/README.md index 886e4ee..b42d331 100644 --- a/Go/README.md +++ b/Go/README.md @@ -1,4 +1,4 @@ -# ❄️ idenerator-go +# ❄ idenerator-go ## 介绍 项目更多介绍参照:https://github.com/yitter/idgenerator @@ -8,35 +8,33 @@ 1.SDK,go1.14 2.启用 Go-Modules - ``` go env -w GO111MODULE=on # Next *ONLY* for China-Users: go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct - ``` 3. 安装方式 - ``` go get -u -v github.com/yitter/idgenerator-go ``` -## Go代码示例 -``` +## 调用示例(Go) -// 定义参数 -var options = idgen.NewIdGeneratorOptions(1) // 构造函数输入 WorkerId -// options.WorkerId = 1 -// options.WorkerIdBitLength = 6 -// options.SeqBitLength = 6 -// ... 以上参数一般不需要设置,系统有默认值 -idgen.SetIdGenerator(options) +调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: -// 调用方法生成Id -var id = idgen.NextId() +``` +// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: +var options = idgen.NewIdGeneratorOptions(1) +// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength +// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 +// 保存参数(必须的操作,否则以上设置都不能生效): +idgen.SetIdGenerator(options) +// 以上初始化过程只需全局一次,且必须在第2步之前设置。 +// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: +var newId = idgen.NextId() ``` ## 代码贡献者(按时间顺序) diff --git a/Java/README.md b/Java/README.md index cfdc9a1..34d9a0c 100644 --- a/Java/README.md +++ b/Java/README.md @@ -12,23 +12,23 @@ JDK 1.8+ ``` -## 调用示例 +## 调用示例(Java) + +调用过程分为2步,第1步是全局初始化(应用程序启动时执行一次),第2步是生成ID,代码如下: ``` -// 全局初始化设置WorkerId,默认最大2^16-1,可通过调整 WorkerIdBitLength 增加最大值 -IdGeneratorOptions options = new IdGeneratorOptions(); -options.WorkerId = 1; +// 第1步:创建 IdGeneratorOptions 对象,构造函数输入 WorkerId: +IdGeneratorOptions options = new IdGeneratorOptions(1); +// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength +// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。 +// 保存参数(必须的操作,否则以上设置都不能生效): YitIdHelper.setIdGenerator(options); -// 以上初始化过程全局只需一次,且必须最先设置 +// 以上初始化过程只需全局一次,且必须在第2步之前设置。 -// 初始化以后,即可在需要生成ID的地方,调用以下方法。 +// 第2步:初始化以后,即可在任何需要生成ID的地方,调用以下方法: long newId = YitIdHelper.nextId(); - ``` -如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。 +如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。 -## options 默认值及说明 - -参考源码:/contract/IdGeneratorOptions.java