我正在尝试做这样的事情:bytes := [4]byte{1,2,3,4}str := convert(bytes)//str == "1,2,3,4"我搜索了很多,真的不知道如何做到这一点。我知道这行不通:str = string(bytes[:])
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
不是实现它的最有效方法,但您可以简单地编写:
func convert( b []byte ) string {
s := make([]string,len(b))
for i := range b {
s[i] = strconv.Itoa(int(b[i]))
}
return strings.Join(s,",")
}
被称为:
bytes := [4]byte{1,2,3,4}
str := convert(bytes[:])
明月笑刀无情
TA贡献1828条经验 获得超4个赞
如果您不受确切表示的约束,那么您可以使用fmt.Sprint
:
fmt.Sprint(bytes) // [1 2 3 4]
另一方面,如果您想要确切的逗号样式,则必须使用循环和strconv.Itoa
.
开满天机
TA贡献1786条经验 获得超13个赞
类似于 inf 的建议,但允许使用逗号:
fmt.Sprintf("%d,%d,%d,%d", bytes[0], bytes[1], bytes[2], bytes[3])
- 3 回答
- 0 关注
- 402 浏览
添加回答
举报
0/150
提交
取消