Different ways to concatenate two strings in Golang

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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)
  
}

chevron_right


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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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())
      
    }

    chevron_right

    
    

    Output:

    String:  Geeks
    String:  GeeksforGeeks
    
  • Using Sprintf: In Go language, you can also concatenate string using Sprintf() method.

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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)
    }

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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)
      
    }

    chevron_right

    
    

    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) 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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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)
    }

    chevron_right

    
    

    Output:

    Welcome-To-GeeksforGeeks-Portal


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.