In Go language, the string is an immutable chain of arbitrary bytes encoded with UTF-8 encoding. In Go strings, the process of adding two or more strings into a new single string is known as concatenation. The simplest way of concatenating two or more strings in the Go language is by using + operator
. It is also known as a concatenation operator.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | // 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) } |
1 2 3 4 | New string 1: Welcome!GeeksforGeeks New string 2: GeeksforGeeks |
Using bytes.Buffer: You can also create a string by concatenating the bytes of the strings using bytes.Buffer
with WriteString() method. It is defined under bytes package. It prevents the generation of the unnecessary string object, means it doesn’t generate a new string like in + operator from two or more strings.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // 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()) } |
1 2 3 4 | String: Geeks String: GeeksforGeeks |
Using Sprintf: In Go language, you can also concatenate string using Sprintf() method.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // 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) } |
1 2 3 | TutorialofGoLanguage |
Using += operator or String append: In Go strings, you are allowed to append a string using += operator. This operator adds a new or given string to the end of the specified string.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // 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) } |
1 2 3 4 5 | String: WelcomeGeeksforGeeks String: WelcomeGeeksforGeeksThis is the tutorial of Go language String: GeeksforGeeksPortal |
- String: GeeksforGeeksPortal
- Using Join() function: This function concatenates all the elements present in the slice of string into a single string. This function is available in string package.Syntax:
1 2 3 | func Join(str []string, sep string) string |
Here, str is the string from which we can concatenate elements and sep is the separator which is placed between the elements in the final string.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // 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) } |