为了账号安全,请及时绑定邮箱和手机立即绑定

Go []字节到字符串转换最佳实践

Go []字节到字符串转换最佳实践

Go
扬帆大鱼 2023-02-21 16:41:59
在网上我看到了两种在 Go 中将字节数组转换为字符串的方法。方法一:func convert(myBytes byte[]) string {   myString := string(myBytes[:])   return myString}方法二:func convert(b []byte) string {    return *((*string)(unsafe.Pointer(&b)))}有什么不同?哪个更快?我应该使用哪一个?
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

第一种形式将字节切片复制到一个新数组,并创建一个指向它的字符串。第二个创建一个指向给定字节片的字符串。

第一个是安全的,但是有复制操作。第二个是不安全的,如果您修改给定字节切片的内容,程序将因难以诊断的错误而中断,因为字符串应该是不可变的。但它没有复制操作。

这是瓶颈的可能性很小。数组复制是一项快速操作。使用第一个版本。


查看完整回答
反对 回复 2023-02-21
  • 1 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信