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()
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)
字符串是不可变的。上面的代码创建了一个新字符串,它是原始字符串和一个字节或符文的串联。
- 3 回答
- 0 关注
- 202 浏览
添加回答
举报