经常在编写 Go 应用程序时,我发现自己可以选择使用[]byte
或string
. 除了明显的可变性之外[]byte
,我如何决定使用哪一个?
我有几个用例作为示例:
- 一个函数返回一个新的
[]byte
. 既然切片容量是固定的,那有什么理由不返回字符串呢? []byte
没有string
默认打印得那么好,所以我经常发现自己string
为了记录目的而强制转换。它应该一直是一个string
吗?- 前置时
[]byte
,总是会创建一个新的底层数组。如果要添加的数据是常量,为什么不应该是string
?