unsafe.go 341 B

1234567891011121314151617181920
  1. package utils
  2. import (
  3. "unsafe"
  4. )
  5. // BytesToString converts byte slice to string.
  6. func BytesToString(b []byte) string {
  7. return *(*string)(unsafe.Pointer(&b))
  8. }
  9. // StringToBytes converts string to byte slice.
  10. func StringToBytes(s string) []byte {
  11. return *(*[]byte)(unsafe.Pointer(
  12. &struct {
  13. string
  14. Cap int
  15. }{s, len(s)},
  16. ))
  17. }