美文网首页GolangGolang语言社区go语言
Go语言 字符串拼接性能优化

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

作者: ljh123 | 来源:发表于2018-09-12 17:31 被阅读11次

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

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

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        var s string
        bT := time.Now()
        for i := 0; i < 100000; i++ {
            s += "1"
        }
        eT := time.Since(bT)
        fmt.Println("Run time: ", eT)
    }
    
    // Run time:  1.1867993s
    

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

    package main
    
    import (
        "bytes"
        "fmt"
        "time"
    )
    
    func main() {
        var b bytes.Buffer
        bT := time.Now()
        for i := 0; i < 100000; i++ {
            b.WriteString("1")
        }
        eT := time.Since(bT)
        fmt.Println("Run time: ", eT)
    }
    
    // Run time:  2.0005ms
    

    发现两者的差距比较明显

    相关文章

      网友评论

        本文标题:Go语言 字符串拼接性能优化

        本文链接:https://www.haomeiwen.com/subject/rbhbgftx.html