使用strings.Join()方法拼接字符串数组:

func BenchmarkAddStringWithJoin(b *testing.B) {    hello := "hello"    world := "world"    for i := 0; i < b.N; i++ {        _ = strings.Join([]string{hello, world}, ",")    }}

join会先根据字符串数组的内容,计算出一个拼接之后的长度,然后申请对应大小的内存,一个一个字符串填入,在已有一个数组的情况下,这种效率会很高,但是本来没有,去构造这个数据的代价也不小。

此方法跟js中的Array.prototype.join方法差不多,都是给数组的每个元素中拼接一个目标字符串,目标字符串为join方法的参数

strings.Join方法比普通的"str"+"str2"这种形式的字符串拼接效率更高,这是因为string本身就是一个常量,那拼接成一个新字符串,就必须要销毁原string对象,然后使当前引用指向新的字符串对象,这样做的开销是非常大的,而strings.Join则不用。

更多golang知识请关注PHP中文网golang教程栏目。

更多相关文章

  1. golang如何判断字符串是否为空
  2. golang如何定义一个二维数组
  3. 常见的 Go 处理字符串的技巧
  4. go语言中一些字符串操作介绍
  5. 用Go实现字符串的逆序
  6. Golang中Bit数组如何实现(代码示例)
  7. 关于 Golang 字符串 格式化
  8. 详解Golang数组的传递
  9. go语言中数组和切片的区别是什么?

随机推荐

  1. Android实现启动页停留几秒然后自动跳转
  2. android 硬解码 是否支持
  3. Android实现轮播图效果
  4. sqlite3 表结构查询
  5. android获取屏幕大小
  6. Fresco使用的注意事项
  7. Android(安卓)ApiDemos 系列解析【View-I
  8. 关于安卓开发实现拖动条和星级评论
  9. android 瀑布流
  10. 腾讯代理下载Android SDK