Go语言 字符串拼接性能优化

叁歲伎倆 2021-09-19 03:24 477阅读 0赞

今天在查找Go资料的时候,偶然中在点进看云中的《Go入门指南》这本书,简单的看了下书中的内容,然后看到有一节内容是描述 “误用字符串”的一个小节,从中了解到go中字符串拼接如果直接用 + 进行拼接的话,效率会比较低,当在for循环次数比较多的时候比较明显,然后我就测试了。那边书中上提供的是用另外一种方式,在for循环次数比较多的时候,比较适合。然后我就写代码进行简单测试对比了下,两者的效率比较大。

(1)这是直接用 + 拼接字符串,for执行100000的结果:

  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. func main() {
  7. var s string
  8. bT := time.Now()
  9. for i := 0; i < 100000; i++ {
  10. s += "1"
  11. }
  12. eT := time.Since(bT)
  13. fmt.Println("Run time: ", eT)
  14. }
  15. // Run time: 1.1867993s

(2)这是用另一种方式进行for,100000的结果:

  1. package main
  2. import (
  3. "bytes"
  4. "fmt"
  5. "time"
  6. )
  7. func main() {
  8. var b bytes.Buffer
  9. bT := time.Now()
  10. for i := 0; i < 100000; i++ {
  11. b.WriteString("1")
  12. }
  13. eT := time.Since(bT)
  14. fmt.Println("Run time: ", eT)
  15. }
  16. // Run time: 2.0005ms

发现两者的差距比较明显

发表评论

表情:
评论列表 (有 0 条评论,477人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java字符串拼接性能优化

    在Java中,字符串拼接是常见的操作,但是如果没有正确使用,可能会导致性能问题。以下是一些性能优化的建议: 1. **避免频繁拼接**:如果需要多次拼接,可以考虑将结果存入一

    相关 Java字符串拼接性能优化

    在Java中,字符串拼接主要通过"+"操作符实现。这种方法的性能问题主要体现在以下几个方面: 1. **频繁的对象创建**:每次使用"+"时,都会创建一个新的String对象

    相关 Go语言 字符串拼接性能优化

    今天在查找Go资料的时候,偶然中在点进看云中的《Go入门指南》这本书,简单的看了下书中的内容,然后看到有一节内容是描述 “误用字符串”的一个小节,从中了解到go中字符串拼接如果