# README
Id
id generator.
Code
generate short str by unique uint64.
Usage
go get -u github.com/go-cinch/common/id
import (
"fmt"
"github.com/go-cinch/common/id"
)
func main() {
fmt.Println(id.NewCode(1))
fmt.Println(id.NewCode(2))
fmt.Println(id.NewCode(3))
fmt.Println(id.NewCode(4))
fmt.Println(id.NewCode(
1,
id.WithCodeChars([]rune{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}),
id.WithCodeN1(9),
id.WithCodeN2(3),
id.WithCodeL(5),
id.WithCodeSalt(99999),
))
}
Options
WithCodeChars
- code set, each char will generate from this set, default ['2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y']WithCodeL
- code lengthWithCodeN1
- n1 & chars.length coprimeWithCodeN2
- n2 & code.length coprimeWithCodeSalt
- code salt, same options and same uint64 id will generate same code, u can set different salt to generate new code
Snowflake Id
generate snowflake id based on sonyflake.
Usage
import (
"context"
"fmt"
"github.com/go-cinch/common/id"
)
func main() {
sf := id.NewSonyflake(
id.WithSonyflakeMachineId(1),
)
if sf.Error != nil {
fmt.Println(sf.Error)
return
}
fmt.Println(sf.Id(context.Background()))
}
Options
WithSonyflakeMachineId
- machine idWithSonyflakeStartTime
- start time, do not modify after setting once, otherwise, u may get duplicate ids
# Functions
NewCode can get a unique code by id(You need to ensure that id is unique).
NewSonyflake can get a unique code by id(You need to ensure that id is unique).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author