You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- package idgen
-
- import (
- "sync"
- )
-
- var singletonMutex sync.Mutex
- var idGenerator *DefaultIdGenerator
-
- // SetIdGenerator .
- func SetIdGenerator(options *IdGeneratorOptions) {
- singletonMutex.Lock()
- idGenerator = NewDefaultIdGenerator(options)
- singletonMutex.Unlock()
- }
-
- // NextId .
- func NextId() int64 {
- if idGenerator == nil {
- singletonMutex.Lock()
- defer singletonMutex.Unlock()
- if idGenerator == nil {
- options := NewIdGeneratorOptions(1)
- idGenerator = NewDefaultIdGenerator(options)
- }
- }
-
- return idGenerator.NewLong()
- }
|