golang字符串拼接

四种拼接方案:

1,直接用 += 操作符, 直接将多个字符串拼接. 最直观的方法, 不过当数据量非常大时用这种拼接访求是非常低效的。

2,直接用 + 操作符,这个和+=其实一个意思了。

3,用字符串切片([]string)装载所有要拼接的字符串,最后使用strings.Join() 函数一次性将所有字符串拼接起来。在数据量非常大时,这种方法的效率也还可以的。

4,利用Buffer( Buffer是一个实现了读写方法的可变大小的字节缓冲 ),将所有的字符串都写入到一个Buffer缓冲区中,最后再统一输出,这种方法最快。

代码示例

package main

import (
"bytes"
"fmt"
"strings"
"time"
)

func main() {
//第一种连接方法(最快)
var buffer bytes.Buffer
s := time.Now()
for i := 0; i < 100000; i++ {
buffer.WriteString("test is here\n")
}
buffer.String() // 拼接结果
e := time.Now()
fmt.Println("1 time is ", e.Sub(s).Seconds())

      //第二种方法
      s = time.Now()
      var sl []string
      for i := 0; i < 100000; i++ {
                sl = append(sl, "test is here\n")
      }
      strings.Join(sl, "")
      e = time.Now()
      fmt.Println("2 time is", e.Sub(s).Seconds())

      //第三种方法
      s = time.Now()
      str := ""
      for i := 0; i < 100000; i++ {
                str += "test is here\n"
      }
      e = time.Now()
      fmt.Println("3 time is ", e.Sub(s).Seconds())

      //第四种方法
      s = time.Now()
      str4 := ""
      for i := 0; i < 100000; i++ {
                str4 = str4 + "test is here"
      }
      e = time.Now()
      fmt.Println("4 time is ", e.Sub(s).Seconds())

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值