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

你如何在 Go 中将一个字节附加到一个字符串?


var ret string

var b byte

ret += b


invalid operation: ret += b (mismatched types string and byte)


慕慕森
浏览 203回答 3
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()

跃然一笑

这里有几个选项:// append byte as sliceret += string([]byte{b})// append byte as runeret += string(rune(b))// convert string to byte slice, append byte to slice, convert back to stringret = string(append([]byte(ret), b))基准测试,看看哪一个最好。如果要附加多个字节,请将第二个选项分成多个语句并附加到 [] 字节:buf := []byte(ret)    // convert string to byte slicebuf = append(buf, b)  // append byte to slicebuf = append(buf, b1) // append byte to slice... etcret = string(buf)     // convert back to string如果你想附加 rune r,那么它有点简单: ret += string(r)字符串是不可变的。上面的代码创建了一个新字符串,它是原始字符串和一个字节或符文的串联。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go