github.com/nsqio/nsq@v1.3.0/internal/stringy/slice.go (about) 1 package stringy 2 3 func Add(s []string, a string) []string { 4 for _, existing := range s { 5 if a == existing { 6 return s 7 } 8 } 9 return append(s, a) 10 11 } 12 13 func Union(s []string, a []string) []string { 14 for _, entry := range a { 15 found := false 16 for _, existing := range s { 17 if entry == existing { 18 found = true 19 break 20 } 21 } 22 if !found { 23 s = append(s, entry) 24 } 25 } 26 return s 27 } 28 29 func Uniq(s []string) (r []string) { 30 outerLoop: 31 for _, entry := range s { 32 for _, existing := range r { 33 if existing == entry { 34 continue outerLoop 35 } 36 } 37 r = append(r, entry) 38 } 39 return 40 }