• 技术文章 >后端开发 >Golang

    go语言中join方法有什么用

    青灯夜游青灯夜游2023-01-16 15:46:54原创43

    在go语言中,join()是strings包的一个字符串处理函数,可以将数组(切片)转为字符串,即将字符串切片(数组)中存在的所有元素连接为单个字符串;语法“strings.Join(s,sep) ”,参数“s”为用来连接元素的字符串切片(数组),参数“sep”是放置在最终字符串中元素之间的分隔符。

    本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

    golang中的join方法

    Golang中的strings.Join()函数将字符串切片(数组)中存在的所有元素连接为单个字符串。该函数在字符串包中可用。

    func Join(s []string, sep string) string

    返回值:它返回一个字符串。

    说明:

    go中的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则不用。

    使用示例

    示例1:

    // Golang program to illustrate the 
    // use of strings.Join Function 
      
    package main 
      
    // importing fmt and strings 
    import ( 
        "fmt"
        "strings"
    ) 
      
    // calling main method 
    func main() { 
      
        // array of strings. 
        str:= []string{"Geeks", "For", "Geeks"} 
      
        // joining the string by separator 
        fmt.Println(strings.Join(str, "-")) 
    }

    输出:

    Geeks-For-Geeks

    示例2:

    // Golang program to illustrate the 
    // use of strings.Join Function 
      
    package main 
      
    // importing fmt and strings 
    import ( 
        "fmt"
        "strings"
    ) 
      
    // calling main method 
    func main() { 
        // array of strings. 
        str:= []string{"A", "Computer-science", "portal", "for", "Geeks"} 
        // joining the string by separator in middle. 
        fmt.Println(strings.Join(str, " ")) 
    }

    输出:

    A Computer-science portal for Geeks

    【相关推荐:Go视频教程编程教学

    以上就是go语言中join方法有什么用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Golang go语言
    上一篇:go语言变量有几种作用域 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • go语言中数组与切片有什么区别• go语言中list怎么删除元素• go语言变量有几种作用域• VSCode支持go语言吗
    1/1

    PHP中文网