タイトルのとおりなんですが、 goでsliceのディープコピーを作りたかったので。
やり方は以下。
orig := []string{"a", "b", "c", "d", "e", "f"} // 元sliceデータ fmt.Printf("%p, %v\n", orig, orig) // 0x10438150, [a b c d e f] copy := append([]string{}, orig...) // sliceをコピーする fmt.Printf("%p, %v\n", copy, copy) // 0x10438180, [a b c d e f] ← 異なるポインタになっている。
という感じで結構簡単にコピーできた。