Golang 菜鸟教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Golang 并发

Golang 异常(Error)

Golang 其他杂项

Go 字符串拼接

在Go语言中,字符串是使用UTF-8编码编码的不可变的任意字节链。在Go字符串中,将两个或多个字符串添加到新的单个字符串中的过程称为串联。连接Go语言中两个或多个字符串的最简单方法是使用运算符(+)。也称为串联运算符。

//拼接字符串
package main

import "fmt"

func main() {

    //创建和初始化字符串

    //使用var关键字
    var str1 string
    str1 = "Welcome!"

    var str2 string
    str2 = "(cainiaojc.com)"

    //连接字符串
    //使用+运算符
    fmt.Println("新字符串 1: ", str1+str2)

    //创建和初始化字符串
    //使用简写声明
    str3 := "Geeks"
    str4 := "Geeks"

    //连接字符串
    //使用+运算符
    result := str3 + "for" + str4

    fmt.Println("新字符串 2: ", result)

}

输出:

新字符串 1:  Welcome!(cainiaojc.com)
新字符串 2:  GeeksforGeeks

连接字符串的其他方法

  • 使用bytes.Buffer:您还可以通过使用bytes.Buffer和WriteString()方法来连接字符串的字节来创建字符串。 它在字节包下定义。 它可以防止生成不必要的字符串对象,这意味着它不会从两个或多个字符串中生成新的字符串(如+运算符)。

    //在WriteString()函数中使用bytes.Buffer
    package main
    
    import (
        "bytes"
        "fmt"
    )
    
    func main() {
    
        //创建和初始化字符串
        //使用bytes.Buffer与
        // WriteString()函数
        var b bytes.Buffer
    
        b.WriteString("G")
        b.WriteString("e")
        b.WriteString("e")
        b.WriteString("k")
        b.WriteString("s")
    
        fmt.Println("String: ", b.String())
    
        b.WriteString("f")
        b.WriteString("o")
        b.WriteString("r")
        b.WriteString("G")
        b.WriteString("e")
        b.WriteString("e")
        b.WriteString("k")
        b.WriteString("s")
    
        fmt.Println("String: ", b.String())
    
    }

    输出:

    String:  Geeks
    String:  cainiaojc
  • 使用Sprintf:在Go语言中,您还可以使用Sprintf()方法连接字符串。

    //使用Sprintf函数
    package main
    
    import "fmt"
    
    func main() {
    
        //创建和初始化字符串
        str1 := "Tutorial"
        str2 := "of"
        str3 := "Go"
        str4 := "Language"
    
        //使用连接字符串
        // Sprintf()函数
        result := fmt.Sprintf("%s%s%s%s", str1, str2, str3, str4)
    
        fmt.Println(result)
    }

    输出:

    TutorialofGoLanguage
  • 使用+ =运算符或字符串附加:在Go字符串中,允许您使用+ =运算符连接字符串。该运算符将新的或给定的字符串添加到指定字符串的末尾。

    // 使用 += 运算符拼接字符串
    package main 
      
    import "fmt"
      
    func main() { 
      
        //创建和初始化字符串
        str1 := "Welcome"
        str2 := "cainiaojc"
      
        //使用 += 运算符
        str1 += str2 
        fmt.Println("String: ", str1) 
      
        str1 += "This is the tutorial of Go language"
        fmt.Println("String: ", str1) 
      
        str2 += "Portal"
        fmt.Println("String: ", str2) 
      
    }

    输出:

    String:  Welcomecainiaojc
    String:  Welcomecainiaojc$1his is the tutorial of Go language
    String:  cainiaojcPortal
  • 使用Join()函数:此函数将字符串切片中存在的所有元素连接为单个字符串。此函数在字符串包中可用。

    语法:

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

    在这里,str是可以用来连接元素的字符串,sep是放置在最终字符串中元素之间的分隔符。

    //连接所有元素
    //出现在字符串的片段中
    package main 
      
    import ( 
        "fmt"
        "strings"
    ) 
      
    func main() { 
      
        //创建和初始化字符串片
        myslice := []string{"Welcome", "To", "cainiaojc", "Portal"} 
      
            //连接元素
            //在切片中呈现
            //使用join()函数
        result := strings.Join(myslice, "-") 
        fmt.Println(result) 
    }

    输出:

    Welcome-To-cainiaojc$1Portal