张无忌打怪兽 2024-01-31 15:14 采纳率: 100%
浏览 1
已结题

Go 中如何高效地进行字符串连接?

在 Go 中, string 是一种原始类型,这意味着它是只读的,对它的任何操作都会创建一个新的字符串。

那么,如果我想要多次连接字符串而不知道结果字符串的长度,最好的方法是什么?

我能想到的一种方式是:

var s string
for i := 0; i < 1000; i++ {
    s += getShortStringFromSomewhere()
}
return s
  • 写回答

2条回答 默认 最新

  • 「已注销」 2024-01-31 15:15
    关注

    你可以使用 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())
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月31日
  • 已采纳回答 1月31日
  • 创建了问题 1月31日