unsafe.go 365 B

12345678910111213141516171819202122
  1. // +build !appengine
  2. package msgpack
  3. import (
  4. "unsafe"
  5. )
  6. // bytesToString converts byte slice to string.
  7. func bytesToString(b []byte) string {
  8. return *(*string)(unsafe.Pointer(&b))
  9. }
  10. // stringToBytes converts string to byte slice.
  11. func stringToBytes(s string) []byte {
  12. return *(*[]byte)(unsafe.Pointer(
  13. &struct {
  14. string
  15. Cap int
  16. }{s, len(s)},
  17. ))
  18. }