github.com/khulnasoft-lab/tunnel-db@v0.0.0-20231117205118-74e1113bd007/pkg/utils/strings/strings.go (about) 1 package strings 2 3 import ( 4 "sort" 5 "strconv" 6 ) 7 8 func Unique(strings []string) []string { 9 sort.Strings(strings) 10 11 var ret []string 12 preStr := "" 13 for _, s := range strings { 14 if preStr != s { 15 ret = append(ret, s) 16 } 17 preStr = s 18 } 19 20 return ret 21 } 22 23 func IsInt(s string) bool { 24 _, err := strconv.Atoi(s) 25 return err == nil 26 } 27 28 func InSlice(a string, list []string) bool { 29 for _, b := range list { 30 if b == a { 31 return true 32 } 33 } 34 return false 35 } 36 37 func Merge(a, b []string) []string { 38 uniq := map[string]struct{}{} 39 for _, v := range append(a, b...) { 40 uniq[v] = struct{}{} 41 } 42 43 var merged []string 44 for u := range uniq { 45 merged = append(merged, u) 46 } 47 return merged 48 }