golang怎么拼接字符串数组
16lz
2021-01-22
使用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教程栏目。
更多相关文章
- golang如何判断字符串是否为空
- golang如何定义一个二维数组
- 常见的 Go 处理字符串的技巧
- go语言中一些字符串操作介绍
- 用Go实现字符串的逆序
- Golang中Bit数组如何实现(代码示例)
- 关于 Golang 字符串 格式化
- 详解Golang数组的传递
- go语言中数组和切片的区别是什么?