22 lines
242 B
Go
22 lines
242 B
Go
package id
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
var (
|
|
generator IDGenerator
|
|
once sync.Once
|
|
)
|
|
|
|
type IDGenerator interface {
|
|
generate() string
|
|
}
|
|
|
|
func New() string {
|
|
once.Do(func() {
|
|
generator = NewUUIDGenerator()
|
|
})
|
|
return generator.generate()
|
|
}
|