Different ways to concatenate two strings in Golang - GeeksforGeeks

09 Aug, 2019
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:
// Go program to illustrate// how to concatenate stringspackage 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)  }
Output:
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:// Go program to illustrate how to concatenate strings// Using bytes.Buffer with WriteString() functionpackage 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())  }Output:String:  Geeks
String:  GeeksforGeeks

Example:
// Go program to illustrate how to concatenate strings// Using bytes.Buffer with WriteString() functionpackage 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())  }
Output:
String:  Geeks
String:  GeeksforGeeks

Using Sprintf: In Go language, you can also concatenate string using Sprintf() method.Example:// Go program to illustrate how to concatenate strings// Using Sprintf functionpackage 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)}Output:TutorialofGoLanguage
Example:
// Go program to illustrate how to concatenate strings// Using Sprintf functionpackage 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)}
Output:
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:// Go program to illustrate how// to concatenate strings// Using += operatorpackage 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)  }Output:String:  WelcomeGeeksforGeeks
String:  WelcomeGeeksforGeeksThis is the tutorial of Go language
String:  GeeksforGeeksPortal

Example:
// Go program to illustrate how// to concatenate strings// Using += operatorpackage 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)  }
Output:
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) stringHere, 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:// Go program to illustrate how to// concatenate all the elements// present in the slice of the stringpackage 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)}Output:Welcome-To-GeeksforGeeks-Portal
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:
// Go program to illustrate how to// concatenate all the elements// present in the slice of the stringpackage 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)}
Output:
Welcome-To-GeeksforGeeks-Portal
Golang
Golang-String
Go Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Arrays in Go
6 Best Books to Learn Go Programming Language
Golang Maps
Slices in Golang
Different Ways to Find the Type of Variable in Golang
Inheritance in GoLang
Interfaces in Golang
How to Trim a String in Golang?
How to compare times in Golang?
How to Parse JSON in Golang?