登录
首页 >  Golang >  Go问答

何时在 Go 中使用 []byte 或 string?

来源:Golang技术栈

时间:2023-04-26 17:54:21 178浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《何时在 Go 中使用 []byte 或 string?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

经常在编写 Go 应用程序时,我发现自己可以选择使用[]bytestring. 除了明显的可变性之外[]byte,我如何决定使用哪一个?

我有几个用例作为示例:

  1. 一个函数返回一个新的[]byte. 既然切片容量是固定的,那有什么理由不返回字符串呢?
  2. []byte没有string默认打印得那么好,所以我经常发现自己string为了记录目的而强制转换。它应该一直是一个string吗?
  3. 前置时[]byte,总是会创建一个新的底层数组。如果要添加的数据是常量,为什么不应该是string?

正确答案

我的建议是在处理文本时默认使用字符串。但如果以下条件之一适用,请改用 []byte:

  • []byte 的可变性将显着减少所需的分配数量。

  • 您正在处理使用 []byte 的 API,避免转换为字符串将简化您的代码。

今天关于《何时在 Go 中使用 []byte 或 string?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表