龙空技术网

go语言string和「」byte相互转换的小技巧

anwenjushi 406

前言:

此时各位老铁们对“java中string转byte”大概比较重视,我们都需要分析一些“java中string转byte”的相关知识。那么小编在网络上网罗了一些对于“java中string转byte””的相关文章,希望姐妹们能喜欢,兄弟们一起来学习一下吧!

go语言中,经常会碰到string和byte之间的转换,如果用强制类型转化,可能会涉及到内容拷贝以及背后的gc消耗。这里介绍个小技巧,直接上代码:

func String2Bytes(s string) []byte {

x := (*[2]uintptr)(unsafe.Pointer(&s))

h := [3]uintptr{x[0], x[1], x[1]}

return *(*[]byte)(unsafe.Pointer(&h))

}


func Bytes2String(b []byte) string { return *(*string)(unsafe.Pointer(&b))}

曾经碰到在调试的时候,程序会报错,但是执行起来,应该没有问题。
如有错误,欢迎指正。

标签: #java中string转byte