stringsパッケージのJoin関数を使う
配列の中にある文字列の要素を全て連結し、新しく1つの文字列を作りたい状況があると思います。
// こんな感じ
["h", "e", "l", "l", "o"]
↓
"hello"
GolangではstringsパッケージのJoin関数を使用することで、それが可能となります。
基本的な書き方は以下の通りです。
sample := strings.Join(配列, "")
Join関数の第1引数に対象となる配列を渡し、第2引数には連結させる時の文字列を渡します。
全ての文字列を区切りなく結合させたい時は、第2引数に空文字で大丈夫です。
具体的なコード例
配列の要素を隙間なく結合する場合
Join関数の第2引数に空文字を渡してあげれば大丈夫です。
package main
import (
"fmt"
"strings"
)
func main() {
letters := []string{"h", "e", "l", "l", "o"}
newString := strings.Join(letters, "") //第2引数に空文字を渡す
fmt.Println(newString)
fmt.Printf("%#v\n", newString)
}
出力結果
hello
"hello"
空白文字で結合する場合
Join関数の第2引数に空白文字を渡します。
package main
import (
"fmt"
"strings"
)
func main() {
letters := []string{"This", "is", "a", "pen"}
newString := strings.Join(letters, " ") // 第2引数を空白文字にする
fmt.Println(newString)
fmt.Printf("%#v\n", newString)
}
出力結果
This is a pen
"This is a pen"
カンマで結合する場合
Join関数の第2引数に文字列のカンマを渡します。
package main
import (
"fmt"
"strings"
)
func main() {
letters := []string{"Tanaka", "Hashimoto", "Kato", "Suzuki"}
newString := strings.Join(letters, ",") // 第2引数にカンマを渡す
fmt.Println(newString)
fmt.Printf("%#v\n", newString)
}
出力結果
Tanaka,Hashimoto,Kato,Suzuki
"Tanaka,Hashimoto,Kato,Suzuki"