package utils import ( "crypto/rand" "encoding/json" "fmt" "log" "time" ) // CreateGUID returns a random GUID. func CreateGUID() string { b := make([]byte, 16) _, err := rand.Read(b) if err != nil { log.Fatal(err) } uuid := fmt.Sprintf("%x-%x-%x-%x-%x", b[0:4], b[4:6], b[6:8], b[8:10], b[10:]) return uuid } // GetMillis is a convenience method to get milliseconds since epoch. func GetMillis() int64 { return time.Now().UnixNano() / int64(time.Millisecond) } func StructToMap(v interface{}) (m map[string]interface{}) { b, _ := json.Marshal(v) _ = json.Unmarshal(b, &m) return }