mh_goadmin_server/pkg/table/analysis.go
2023-09-16 10:56:39 +08:00

25 lines
485 B
Go

package table
import (
"hash/crc32"
"strconv"
)
// Crc32Hash 用于32张分表
func Crc32Hash(src string) string {
sum := crc32.ChecksumIEEE([]byte(src)) % 32
return strconv.Itoa(int(sum))
}
// Crc16Hash 用于16张分表
func Crc16Hash(src string) string {
sum := crc32.ChecksumIEEE([]byte(src)) % 16
return strconv.Itoa(int(sum))
}
// Crc8Hash 用于8张分表
func Crc8Hash(src string) string {
sum := crc32.ChecksumIEEE([]byte(src)) % 8
return strconv.Itoa(int(sum))
}