gitee.com/quant1x/gox@v1.7.6/fastjson/util.go (about) 1 package fastjson 2 3 import ( 4 "reflect" 5 "unsafe" 6 ) 7 8 func b2s(b []byte) string { 9 return *(*string)(unsafe.Pointer(&b)) 10 } 11 12 func s2b(s string) []byte { 13 strh := (*reflect.StringHeader)(unsafe.Pointer(&s)) 14 var sh reflect.SliceHeader 15 sh.Data = strh.Data 16 sh.Len = strh.Len 17 sh.Cap = strh.Len 18 return *(*[]byte)(unsafe.Pointer(&sh)) 19 } 20 21 const maxStartEndStringLen = 80 22 23 func startEndString(s string) string { 24 if len(s) <= maxStartEndStringLen { 25 return s 26 } 27 start := s[:40] 28 end := s[len(s)-40:] 29 return start + "..." + end 30 }