在 Go 语言中,字符串是用 UTF-8 编码的任意字节的不可变链。在 Go字符串中,将两个或多个字符串添加到一个新的单个字符串的过程称为连接。在 Go 语言中连接两个或多个字符串的最简单方法是使用+ operator
。它也称为串联运算符。
例子:
// Go program to illustrate
// how to concatenate strings
package main
import "fmt"
func main() {
// Creating and initializing strings
// using var keyword
var str1 string
str1 = "Welcome!"
var str2 string
str2 = "GeeksforGeeks"
// Concatenating strings
// Using + operator
fmt.Println("New string 1: ", str1+str2)
// Creating and initializing strings
// Using shorthand declaration
str3 := "Geeks"
str4 := "Geeks"
// Concatenating strings
// Using + operator
result := str3 + "for" + str4
fmt.Println("New string 2: ", result)
}
输出:
New string 1: Welcome!GeeksforGeeks
New string 2: GeeksforGeeks
连接字符串的其他方法
- 使用bytes.Buffer:您还可以通过连接使用字符串的字节创建一个字符串
bytes.Buffer
用WriteString()方法。它是在 bytes 包下定义的。它可以防止不必要的字符串对象的生成,是指它不产生像在从两个或多个字符串+运算符的新字符串。例子:
// Go program to illustrate how to concatenate strings // Using bytes.Buffer with WriteString() function package main import ( "bytes" "fmt" ) func main() { // Creating and initializing strings // Using bytes.Buffer with // WriteString() function 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: GeeksforGeeks
- 使用 Sprintf:在 Go 语言中,您还可以使用Sprintf()方法连接字符串。
例子:
// Go program to illustrate how to concatenate strings // Using Sprintf function package main import "fmt" func main() { // Creating and initializing strings str1 := "Tutorial" str2 := "of" str3 := "Go" str4 := "Language" // Concatenating strings using // Sprintf() function result := fmt.Sprintf("%s%s%s%s", str1, str2, str3, str4) fmt.Println(result) }
输出:
TutorialofGoLanguage
- 使用 +=运算符或字符串附加:在 Go字符串,您可以使用+=运算符附加字符串。此运算符将新的或给定的字符串到指定字符串的末尾。
例子:
// Go program to illustrate how // to concatenate strings // Using += operator package main import "fmt" func main() { // Creating and initializing strings str1 := "Welcome" str2 := "GeeksforGeeks" // Using += operator 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: WelcomeGeeksforGeeks String: WelcomeGeeksforGeeksThis is the tutorial of Go language String: GeeksforGeeksPortal
- 使用 Join()函数:该函数将字符串切片中存在的所有元素连接成一个字符串。该函数在字符串包中可用。
句法:
func Join(str []string, sep string) string
这里, str是我们可以连接元素的字符串, sep 是放置在最终字符串元素之间的分隔符。
例子:
// Go program to illustrate how to // concatenate all the elements // present in the slice of the string package main import ( "fmt" "strings" ) func main() { // Creating and initializing slice of string myslice := []string{"Welcome", "To", "GeeksforGeeks", "Portal"} // Concatenating the elements // present in the slice // Using join() function result := strings.Join(myslice, "-") fmt.Println(result) }
输出:
Welcome-To-GeeksforGeeks-Portal