继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕姐8265434
关注TA
已关注
手记 1147
粉丝 221
获赞 1064

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

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

package mainimport (    "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 mainimport (    "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

发现两者的差距比较明显



作者:laijh
链接:https://www.jianshu.com/p/b8ba88fdc992


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP