在Go语言中,字符串是使用UTF-8编码编码的不可变的任意字节链。在Go字符串中,将两个或多个字符串添加到新的单个字符串中的过程称为串联。连接Go语言中两个或多个字符串的最简单方法是使用运算符(+)。也称为串联运算符。
//拼接字符串 package main import "fmt" func main() { //创建和初始化字符串 //使用var关键字 var str1 string str1 = "Welcome!" var str2 string str2 = "nhooo.com" //连接字符串 //使用+运算符 fmt.Println("新字符串 1: ", str1+str2) //创建和初始化字符串 //使用简写声明 str3 := "Geeks" str4 := "Geeks" //连接字符串 //使用+运算符 result := str3 + "for" + str4 fmt.Println("新字符串 2: ", result) }
输出:
新字符串 1: Welcome!nhooo.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: nhooo
使用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 := "nhooo" //使用 += 运算符 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()函数:此函数将字符串切片中存在的所有元素连接为单个字符串。此函数在字符串包中可用。
语法:
func Join(str []string, sep string) string
在这里,str是可以用来连接元素的字符串,sep是放置在最终字符串中元素之间的分隔符。
//连接所有元素 //出现在字符串的片段中 package main import ( "fmt" "strings" ) func main() { //创建和初始化字符串片 myslice := []string{"Welcome", "To", "nhooo", "Portal"} //连接元素 //在切片中呈现 //使用join()函数 result := strings.Join(myslice, "-") fmt.Println(result) }
输出:
Welcome-To-nhooo-Portal