Golang 中 string 与 []byte 互转优化

原文链接:https://medium.com/@kevinbai/golang-%E4%B8%AD-string-%E4%B8%8E-byte-%E4%BA%92%E8%BD%AC%E4%BC%98%E5%8C%96-6651feb4e1f2

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

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

 

posted @ 2021-02-02 15:22  salami_china  阅读(214)  评论(0编辑  收藏  举报