重複排除が関わる場合の多くはmapを経由する事で解決できます。
https://play.golang.org/p/hQOBma41GqV
go
1package main
2
3import (
4 "fmt"
5)
6
7func unique(ss ...[]string) []string {
8 m := map[string]int{}
9 for _, s := range ss {
10 for _, v := range s {
11 m[v]++ // 出現回数をカウント
12 }
13 }
14 res := []string{}
15 for k, v := range m {
16 if v == 1 {
17 // 出現回数が1回のものだけを抽出
18 res = append(res, k)
19 }
20 }
21 return res
22}
23
24func main() {
25 l := []string{"0", "1", "2", "3", "4"}
26 d := []string{"2", "3", "4"}
27 u := unique(l, d)
28 fmt.Println(u)
29}
2018/11/07 20:54
2018/11/08 01:28
2018/11/08 03:42