我正在嘗試做這樣的事情: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 關注
- 440 瀏覽
添加回答
舉報
0/150
提交
取消