golang-im聊天
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

34 行
565 B

  1. package util
  2. import (
  3. "math/rand"
  4. "time"
  5. "unsafe"
  6. )
  7. var r *rand.Rand
  8. func init() {
  9. r = rand.New(rand.NewSource(time.Now().Unix()))
  10. }
  11. func Str2bytes(s string) []byte {
  12. x := (*[2]uintptr)(unsafe.Pointer(&s))
  13. h := [3]uintptr{x[0], x[1], x[1]}
  14. return *(*[]byte)(unsafe.Pointer(&h))
  15. }
  16. func Bytes2str(b []byte) string {
  17. return *(*string)(unsafe.Pointer(&b))
  18. }
  19. // RandString 生成随机字符串
  20. func RandString(len int) string {
  21. bytes := make([]byte, len)
  22. for i := 0; i < len; i++ {
  23. b := r.Intn(26) + 65
  24. bytes[i] = byte(b)
  25. }
  26. return string(bytes)
  27. }