Go言語で文字列を結合する
文字列リテラル(ダブルクォーテーション(")で囲んだ文字列)を結合します。
単純に結合するには、+演算子を使用します。
ただし、+演算子で結合すると、結合するたびに文字列オブジェクトが生成されます。
bytes.Bufferを使用すると、文字列はバッファ内に保持され、無駄に文字列オブジェクトが生成されることを防ぎます。
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())
}

      
実行結果
$ go run concatenate_string_literal.go
Panda is cute.
Panda
Panda is cute.