guid.go 562 B

1234567891011121314151617181920212223242526272829303132333435
  1. package guid
  2. import (
  3. "fmt"
  4. "log"
  5. "math/rand"
  6. "time"
  7. )
  8. func Gen() string {
  9. rand.Seed(time.Now().UnixNano())
  10. b := make([]byte, 16)
  11. _, err := rand.Read(b)
  12. if err != nil {
  13. log.Fatal(err)
  14. }
  15. uuid := fmt.Sprintf("%x-%x-%x-%x-%x",
  16. b[0:4], b[4:6], b[6:8], b[8:10], b[10:])
  17. return uuid
  18. }
  19. func GenNoSplit() string {
  20. rand.Seed(time.Now().UnixNano()) //设置随机数种子
  21. b := make([]byte, 16)
  22. _, err := rand.Read(b)
  23. if err != nil {
  24. log.Fatal(err)
  25. }
  26. uuid := fmt.Sprintf("%x%x%x%x%x",
  27. b[0:4], b[4:6], b[6:8], b[8:10], b[10:])
  28. return uuid
  29. }