Golang幾種連接字符串方法
Golang中字符串是不可變的使用UTF-8編碼任意字節鏈。把一個或多個字符相加稱爲字符串連接。最簡單的方式使用+
操作符,本文介紹多種方式連接字符串。
1. 使用加操作符
首先介紹簡單使用+
操作符:
package main
import "fmt"
func main() {
str3 := "hello"
str4 := "Golang"
// Concatenating strings Using + operator
result := str3 + "," + str4
fmt.Println("Result: ", result)
}
輸出結果:
Result: hello,Golang
既然加操作符可以,那麼+=
也能實現類似功能:
package main
import "fmt"
func main() {
// Creating and initializing strings
str1 := "Welcome"
str2 := " to Golang"
// Using += operator
str1 += str2
fmt.Println("String: ", str1)
}
輸出:
Result: Welcome to Golang
2. 使用bytes.Buffer
使用bytes.Buffer的方法WriterString()連接字符串的字節,從而實現連接字符串的目的。這種方法避免產生不必要的字符串對象,即不需要像使用+
那樣生成新的字符串對象。
package main
import (
"bytes"
"fmt"
)
func main() {
var b bytes.Buffer
b.WriteString("你好")
b.WriteString(",")
b.WriteString("Golang")
fmt.Println("String: ", b.String())
}
字符串工具類strings也提供了一個封裝版本:
var myString strings.Builder
myString.WriteString("Hello ")
myString.WriteString("世界")
fmt.Println(myString.String())
3. 使用Sprintf
我們還可以使用Sprintf方法連接字符串:
package main
import "fmt"
func main() {
// Creating and initializing strings
str1 := "Tutorial"
str2 := "of"
str3 := "GoLang"
str4 := "Language"
// Concatenating strings using
// Sprintf() function
result := fmt.Sprintf("%s %s %s %s", str1,
str2, str3, str4)
fmt.Println(result)
}
輸出爲:
Tutorial of GoLang Language
4. 總結
本文介紹了Golang三種方法連接字符串。最簡單是使用操作符,直接操作字符串底層字節效率比較高,Sprintf方法類似字符串模板方法,比較靈活。