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:
C
package main
import "fmt"
func main() {
var str1 string
str1 = "Welcome!"
var str2 string
str2 = "GeeksforGeeks"
fmt.Println("New string 1: ", str1+str2)
str3 := "Geeks"
str4 := "Geeks"
result := str3 + " for " + str4
fmt.Println("New string 2: ", result)
}
|
Output:
New string 1: Welcome!GeeksforGeeks
New string 2: GeeksforGeeks
Other Methods for concatenating strings
- 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:
C
package main
import (
"bytes"
"fmt"
)
func main() {
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
- Using Sprintf: In Go language, you can also concatenate string using Sprintf() method. Example:
C
package main
import "fmt"
func main() {
str1 := "Tutorial"
str2 := "of"
str3 := "Go"
str4 := "Language"
result := fmt.Sprintf("%s%s%s%s", str1,
str2, str3, str4)
fmt.Println(result)
}
|
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:
C
package main
import "fmt"
func main() {
str1 := "Welcome"
str2 := "GeeksforGeeks"
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
- 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:
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:
C
package main
import (
"fmt"
"strings"
)
func main() {
myslice := []string{"Welcome", "To",
"GeeksforGeeks", "Portal"}
result := strings.Join(myslice, "-")
fmt.Println(result)
}
|
Welcome-To-GeeksforGeeks-Portal
- Using strings.Builder: You can also create a string by concatenating the strings using strings.Builder with WriteString() method. It is defined under strings package. It uses less memory while concatenating strings and is a better way of concatenation. The function WriteString appends the contents of the string to a buffer and allows us to concatenate strings in a faster way. 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:
Go
package main
import (
"fmt"
"strings"
)
func main() {
var str strings.Builder
str.WriteString( "Welcome" )
fmt.Println( "String: " , str.String())
str.WriteString( " to" )
str.WriteString( " GeeksforGeeks!" )
fmt.Println( "String: " , str.String())
}
|
Output:
String: Welcome
String: Welcome to GeeksforGeeks!
Please Login to comment...