Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項

Go 字符串拼接

在Go語言中,字符串是使用UTF-8編碼編碼的不可變的任意字節(jié)鏈。在Go字符串中,將兩個或多個字符串添加到新的單個字符串中的過程稱為串聯(lián)。連接Go語言中兩個或多個字符串的最簡單方法是使用運(yùn)算符(+)。也稱為串聯(lián)運(yùn)算符。

//拼接字符串
package main

import "fmt"

func main() {

    //創(chuàng)建和初始化字符串

    //使用var關(guān)鍵字
    var str1 string
    str1 = "Welcome!"

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

    //連接字符串
    //使用+運(yùn)算符
    fmt.Println("新字符串 1: ", str1+str2)

    //創(chuàng)建和初始化字符串
    //使用簡寫聲明
    str3 := "Geeks"
    str4 := "Geeks"

    //連接字符串
    //使用+運(yùn)算符
    result := str3 + "for" + str4

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

}

輸出:

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

連接字符串的其他方法

  • 使用bytes.Buffer:您還可以通過使用bytes.Buffer和WriteString()方法來連接字符串的字節(jié)來創(chuàng)建字符串。 它在字節(jié)包下定義。 它可以防止生成不必要的字符串對象,這意味著它不會從兩個或多個字符串中生成新的字符串(如+運(yùn)算符)。

    //在WriteString()函數(shù)中使用bytes.Buffer
    package main
    
    import (
        "bytes"
        "fmt"
    )
    
    func main() {
    
        //創(chuàng)建和初始化字符串
        //使用bytes.Buffer與
        // WriteString()函數(shù)
        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:  nhooo
  • 使用Sprintf:在Go語言中,您還可以使用Sprintf()方法連接字符串。

    //使用Sprintf函數(shù)
    package main
    
    import "fmt"
    
    func main() {
    
        //創(chuàng)建和初始化字符串
        str1 := "Tutorial"
        str2 := "of"
        str3 := "Go"
        str4 := "Language"
    
        //使用連接字符串
        // Sprintf()函數(shù)
        result := fmt.Sprintf("%s%s%s%s", str1, str2, str3, str4)
    
        fmt.Println(result)
    }

    輸出:

    TutorialofGoLanguage
  • 使用+ =運(yùn)算符或字符串附加:在Go字符串中,允許您使用+ =運(yùn)算符連接字符串。該運(yùn)算符將新的或給定的字符串添加到指定字符串的末尾。

    // 使用 += 運(yùn)算符拼接字符串
    package main 
      
    import "fmt"
      
    func main() { 
      
        //創(chuàng)建和初始化字符串
        str1 := "Welcome"
        str2 := "nhooo"
      
        //使用 += 運(yùn)算符
        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:  Welcomenhooo
    String:  WelcomenhoooThis is the tutorial of Go language
    String:  nhoooPortal
  • 使用Join()函數(shù):此函數(shù)將字符串切片中存在的所有元素連接為單個字符串。此函數(shù)在字符串包中可用。

    語法:

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

    在這里,str是可以用來連接元素的字符串,sep是放置在最終字符串中元素之間的分隔符。

    //連接所有元素
    //出現(xiàn)在字符串的片段中
    package main 
      
    import ( 
        "fmt"
        "strings"
    ) 
      
    func main() { 
      
        //創(chuàng)建和初始化字符串片
        myslice := []string{"Welcome", "To", "nhooo", "Portal"} 
      
            //連接元素
            //在切片中呈現(xiàn)
            //使用join()函數(shù)
        result := strings.Join(myslice, "-") 
        fmt.Println(result) 
    }

    輸出:

    Welcome-To-nhooo-Portal
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清