From 22f5d39209c3400201908e2a9e3441b00cb83d19 Mon Sep 17 00:00:00 2001 From: linwenxiang <991154416@qq.com> Date: Tue, 25 Aug 2020 23:06:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=88=86=E8=A1=A8=E7=AE=97=E6=B3=95=EF=BC=8C?= =?UTF-8?q?=E4=BE=9B=E5=88=86=E8=A1=A8=E4=B8=9A=E5=8A=A1=E5=8F=82=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/table/analysis.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 pkg/table/analysis.go diff --git a/pkg/table/analysis.go b/pkg/table/analysis.go new file mode 100644 index 00000000..58324b0f --- /dev/null +++ b/pkg/table/analysis.go @@ -0,0 +1,24 @@ +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 用于32张分表 +func Crc16Hash(src string) string { + sum := crc32.ChecksumIEEE([]byte(src)) % 16 + return strconv.Itoa(int(sum)) +} + +// Crc8Hash 用于32张分表 +func Crc8Hash(src string) string { + sum := crc32.ChecksumIEEE([]byte(src)) % 8 + return strconv.Itoa(int(sum)) +}