Go join string
last modified April 11, 2024
In this article we show 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.22.2 linux/amd64
We use Go version 1.22.2.
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
Source
The Go Programming Language Specification
In this article we have showed how to join strings in Golang.
Author
List all Go tutorials.