Documentation ¶
Overview ¶
Package hashs 多种哈希.
包括 SipHash32, SipHash64, SipHash128. HyperLogLog++.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SipHash128 ¶
SipHash128 哈希.
Example ¶
package main import ( "fmt" "github.com/xuender/oils/hashs" ) func main() { fmt.Println(hashs.SipHash128([]byte("123"))) }
Output: 8693645449139915215 11618447955228391416
func SipHash64 ¶
SipHash64 哈希,和Google Guava的sipHash24相同.
Example ¶
package main import ( "fmt" "github.com/xuender/oils/hashs" ) func main() { fmt.Println(hashs.SipHash64([]byte("123"))) }
Output: 9379172312344772015
func SipHashHex ¶
SipHashHex 字符串.
Example ¶
package main import ( "fmt" "github.com/xuender/oils/hashs" ) func main() { fmt.Println(hashs.SipHashHex([]byte("123"))) }
Output: 822983866c7d3daf
func SipHashNumber ¶
SipHashNumber 兼容JS, 53位长度.
Example ¶
package main import ( "fmt" "github.com/xuender/oils/hashs" ) func main() { fmt.Println(hashs.SipHashNumber([]byte("123"))) }
Output: 2677888159399343
Types ¶
type NumHLLPP ¶
type NumHLLPP[T constraints.Integer | constraints.Float] struct { Hllpp *hllpp.HLLPP }
Example ¶
package main import ( "fmt" "github.com/xuender/oils/hashs" ) func main() { hll := hashs.NewNumHLLPP[int]() hll.Add(3) hll.Add(3) hll.Add(1) hll.Add(3) fmt.Println(hll.Count()) }
Output: 2
func NewNumHLLPP ¶
func NewNumHLLPP[T constraints.Integer | constraints.Float]() *NumHLLPP[T]
func Unmarshal ¶
func Unmarshal[T constraints.Integer | constraints.Float](data []byte) (*NumHLLPP[T], error)
nolint
Click to show internal directories.
Click to hide internal directories.