在 Go 中, string 是一种原始类型,这意味着它是只读的,对它的任何操作都会创建一个新的字符串。
那么,如果我想要多次连接字符串而不知道结果字符串的长度,最好的方法是什么?
我能想到的一种方式是:
var s string
for i := 0; i < 1000; i++ {
s += getShortStringFromSomewhere()
}
return s
在 Go 中, string 是一种原始类型,这意味着它是只读的,对它的任何操作都会创建一个新的字符串。
那么,如果我想要多次连接字符串而不知道结果字符串的长度,最好的方法是什么?
我能想到的一种方式是:
var s string
for i := 0; i < 1000; i++ {
s += getShortStringFromSomewhere()
}
return s
你可以使用 strings.Builder:
package main
import (
"strings"
"fmt"
)
func main() {
// 不需要初始化
var sb strings.Builder
for i := 0; i < 1000; i++ {
sb.WriteString("a")
}
fmt.Println(sb.String())
}