Golang
Concatenate strings
in Golang
Concatenate string literals (string enclosed in double quotes). To concatenate strings simply, use + operator.
However, if strings are concatenated by + operator, new string object is generated.
If you use bytes.Buffer, string is stored in buffer.
As a result, bytes.buffer prevents unnecessary string object from generating.
concatenate_string_literal.go
package main
import (
"bytes"
"fmt"
)
func main() {
// Concatenate string literal simply
fmt.Println("Panda " + "is " + "cute.")
// However, string object is generated for every + is used
// If bytes.Buffer is used, new object is not generated
// when string is concatenated
// Here, bytes.Buffer is a variable-sized buffer of bytes.
var buffer bytes.Buffer
buffer.WriteString("P")
buffer.WriteString("a")
buffer.WriteString("n")
buffer.WriteString("d")
buffer.WriteString("a")
fmt.Println(buffer.String())
buffer.WriteString(" ")
buffer.WriteString("i")
buffer.WriteString("s")
buffer.WriteString(" ")
buffer.WriteString("c")
buffer.WriteString("u")
buffer.WriteString("t")
buffer.WriteString("e")
buffer.WriteString(".")
fmt.Println(buffer.String())
}
Result
$ go run concatenate_string_literal.go
Panda is cute.
Panda
Panda is cute.