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

将一个字节附加到字符串?

将一个字节附加到字符串?

Go
慕慕森 2021-09-21 17:25:19
你如何在 Go 中将一个字节附加到一个字符串?var ret stringvar b byteret += binvalid operation: ret += b (mismatched types string and byte)
查看完整描述

3 回答

?
呼如林

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

除了 ThunderCats 答案.. 你可以bytes.Buffer从一个字符串初始化一个......允许你继续添加你认为合适的字节:


buff := bytes.NewBufferString(ret)


// maybe buff.Grow(n) .. if you hit perf issues?


buff.WriteByte(b)

buff.WriteByte(b)


// ...


result := buff.String()


查看完整回答
反对 回复 2021-09-21
?
跃然一笑

TA贡献1826条经验 获得超6个赞

这里有几个选项:


// append byte as slice

ret += string([]byte{b})


// append byte as rune

ret += string(rune(b))


// convert string to byte slice, append byte to slice, convert back to string

ret = string(append([]byte(ret), b))

基准测试,看看哪一个最好。


如果要附加多个字节,请将第二个选项分成多个语句并附加到 [] 字节:


buf := []byte(ret)    // convert string to byte slice

buf = append(buf, b)  // append byte to slice

buf = append(buf, b1) // append byte to slice

... etc

ret = string(buf)     // convert back to string

如果你想附加 rune r,那么它有点简单:


 ret += string(r)

字符串是不可变的。上面的代码创建了一个新字符串,它是原始字符串和一个字节或符文的串联。


查看完整回答
反对 回复 2021-09-21
  • 3 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

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