github.com/fx-zpy/BloomFilter@v0.0.0-20230301111708-fc3d7eb48353/Utils.go (about) 1 package BloomFilter 2 3 import ( 4 "encoding/binary" 5 "reflect" 6 "unsafe" 7 ) 8 9 func StrToBytes(s string) []byte { 10 sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) 11 bh := reflect.SliceHeader{ 12 Data: sh.Data, 13 Len: sh.Len, 14 Cap: sh.Len, 15 } 16 return *(*[]byte)(unsafe.Pointer(&bh)) 17 } 18 19 func Uint16ToBytes(num uint16) []byte { 20 data := make([]byte, 2) 21 binary.LittleEndian.PutUint16(data, num) 22 return data 23 } 24 25 func Uint32ToBytes(num uint32) []byte { 26 data := make([]byte, 4) 27 binary.LittleEndian.PutUint32(data, num) 28 return data 29 } 30 31 func Uint64ToBytes(num uint64) []byte { 32 data := make([]byte, 8) 33 binary.LittleEndian.PutUint64(data, num) 34 return data 35 }