unsafe.go 289 B

1234567891011121314
  1. // +build !appengine
  2. package internal
  3. import (
  4. "reflect"
  5. "unsafe"
  6. )
  7. func BytesToString(b []byte) string {
  8. bytesHeader := (*reflect.SliceHeader)(unsafe.Pointer(&b))
  9. strHeader := reflect.StringHeader{bytesHeader.Data, bytesHeader.Len}
  10. return *(*string)(unsafe.Pointer(&strHeader))
  11. }