go语言中字符串拼接效率

NaiveConcat:  +=

go中的string和java中的string一致,为不可修改immutable,如果采用 += 则字符串拼接的过程中需要不断的产生新的strings并copy内容因此效率不高。

总结:

  1. 对于短字符串的合并(长度小于10个字节),使用NaiveConcat性能表现较好。
  2. 如果对于合并任务比较重,性能非常重要的话,bytes.Buffer是最好的选择
  3. 如果已经具备了string slice的情况下,strings.joins是一个比较好的选择

原文:

  1. http://herman.asia/efficient-string-concatenation-in-go
  2. github代码: https://github.com/hermanschaaf/go-string-concat-benchmarks

发表评论

电子邮件地址不会被公开。 必填项已用*标注