Documentation ¶
Overview ¶
Package base36 实现混合字母和数字的数字型 ID 值, 这主要是为了便于人为设定一个可读友好的字符串, 同时又能转换为数字的 ID 存储。不区分大小写, 最多 10 个字符
Index ¶
- Constants
- func Atoi[N Double](s string) (N, error)
- func Itoa[N Double](id N) string
- func QuirkyAtoi32(id string) (uint32, error)
- func QuirkyItoa32(id uint32) string
- func RevEndianAtoi32(id string) (uint32, error)
- func RevEndianAtoi64(id string) (uint64, error)
- func RevEndianItoa32(id uint32) string
- func RevEndianItoa64(id uint64) string
- type Double
Constants ¶
View Source
const Float64PrecisionSize = 10
Float64PrecisionSize IEEE 754 双精度浮点数不会丢失的精度。推荐使用这个值
View Source
const MaxID = 3656158440062975 // ZZZZZZZZZZ
MaxID ID 最大值
Variables ¶
This section is empty.
Functions ¶
func QuirkyItoa32 ¶
QuirkyItoa32 同 RevEndianItoa32 类似, 也是为了避免暴露自增 id, 但不同的是, 这个函数将 uint32 进行大小端变换之后, 再在最高位加 1, 避免出现字符串过短的情况
func RevEndianAtoi32 ¶
RevEndianAtoi32 是 RevEndianItoa32 的逆操作
func RevEndianAtoi64 ¶
RevEndianAtoi64 是 RevEndianItoa64 的逆操作
func RevEndianItoa32 ¶
RevEndianItoa32 为了避免暴露出自增 id 的本质, 将一个 uint32 类型值颠倒大小端之后再进行 base36 转为 string。当然缺点是数字越大, 字符串反而越短
func RevEndianItoa64 ¶
RevEndianItoa64 为了避免暴露出自增 id 的本质, 将一个 uint64 类型值颠倒大小端之后再进行 base36 转为 string。当然缺点是数字越大, 字符串反而越短
Types ¶
Click to show internal directories.
Click to hide internal directories.