bytes与string互转

func string2Bytes(s string) []byte {
    var x = (*[2]uintptr)(unsafe.Pointer(&s))
    var h = [3]uintptr{x[0], x[1], x[1]}
    return *(*[]byte)(unsafe.Pointer(&h))
}

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

参考

Go性能优化:string与[ ]byte转换

最后更新于

这有帮助吗?