【golang】strings.join方法
最近才开始学习golang,看《the go programming language》中有提到strings的join方法,此方法跟js中的Array.prototype.join方法差不多,都是给数组的每个元素中拼接一个目标字符串,目标字符串为join方法的参数
与js不同的是,js是弱类型的语言,因此可以直接为一个number的数组使用join方法,在执行过程中,js会把number类型的数组隐式的转换为string类型的数组然后进行字符串拼接,而golang是一种强类型静态的语言,在golang中不允许这样做,必须显式的进行类型转换或者直接传入一个字符串数组,否则在编译期就会抛出异常。
比如这样是绝对不允许的
strings.Join([]int{1,2,3},"+") //error
除此之外,strings.Join方法比普通的"str"+"str2"
这种形式的字符串拼接效率更高,这是因为string本身就是一个常量,那拼接成一个新字符串,就必须要销毁原string对象,然后使当前引用指向新的字符串对象,这样做的开销是非常大的,而strings.Join则不用。