Go join string
last modified January 9, 2023
Go join string tutorial shows how to join strings in Golang.
To join strings, we can use the + operator, fmt.Sprintf function, and strings.Join function.
$ go version go version go1.18.1 linux/amd64
We use Go version 1.18.
Go join strings with + operator
Many programming languages use the + operator to join strings.
package main import "fmt" func main() { w1 := "old" w2 := "falcon" msg := w1 + " " + w2 fmt.Println(msg) }
Two words are joined in the example. We also add a space character between them.
$ go run main.go old falcon
Go join strings with fmt.Sprintf
The fmt.Sprintf
function builds a string according to the given
format specifiers and returns the resulting string.
package main import "fmt" func main() { w1 := "old" w2 := "falcon" msg := fmt.Sprintf("%s %s", w1, w2) fmt.Println(msg) }
The example builds a message by joining two words.
Go join strings with bytes.Buffer
A bytes.Buffer
is a variable-sized buffer of bytes with Read and
Write methods.
package main import ( "bytes" "fmt" ) func main() { var buf bytes.Buffer buf.WriteString("an ") buf.WriteString("old ") buf.WriteString("falcon") fmt.Println(buf.String()) }
In the example, we write strings to the bytes buffer with
WriteString
and then convert the bytes into a final string with
String
function.
$ go run main.go an old falcon
Go strings.Join
The strings.Join
function joins string elements of a slice/array
into one string. The separator string is placed between elements in the
resulting string.
package main import ( "fmt" "strings" ) func main() { words := []string{"an", "old", "falcon"} msg := strings.Join(words, " ") fmt.Println(msg) }
We have a slice of words. We join them with strings.Join
, utilizing
a single space as a separator.
Go String function
The String
function of an object is called when it is passed to any
of the print functions. It is commonly used to display a human-readable
representation of the object.
package main import ( "fmt" ) type User struct { Name string Occupation string } func (u User) String() string { return fmt.Sprintf("%s is a(n) %s", u.Name, u.Occupation) } func main() { u1 := User{"John Doe", "gardener"} u2 := User{"Roger Roe", "driver"} fmt.Println(u1) fmt.Println(u2) }
In the example, we use the fmt.Sprintf
function to generate an
output of a User
type.
$ go run main.go John Doe is a(n) gardener Roger Roe is a(n) driver
In this article, we have showed how to join strings in Golang.
List all Go tutorials.