【メモ】Golangでスライス型にスライス型をappend
Golangでスライス型にスライス型をappendする。
s1 := []string{"aa", "bb", "cc"} s2 := []string{"dd", "ee", "ff"} s1 = append(s1, s2)
としてgo run
すると
cannot use r (type []string) as type string in append
とエラーしてしまう。[]stringにappendできるのはstringだよ!と。
これは、appendの2つめの引数に3点リーダ(...)を付与することで解決できます。
s1 = append(s1, s2...) // s1=>[]string{"aa", "bb", "cc", "dd", "ee", "ff"}
s2が可変引数として展開されて、以下を実行したのと同じ結果が得られます。
s1 = append(s1, "dd", "ee", "ff")