2021-02-20 20:01:04 +00:00
|
|
|
package util
|
|
|
|
|
|
|
|
|
|
import "strings"
|
|
|
|
|
|
|
|
|
|
func StringSliceContains(slice []string, val string) bool {
|
|
|
|
|
for _, s := range slice {
|
|
|
|
|
if strings.EqualFold(s, val) {
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
2021-02-24 18:57:39 +00:00
|
|
|
|
|
|
|
|
func StringSliceMergeUnique(existingSlice []string, mergeSlice []string) []string {
|
|
|
|
|
// add existing
|
|
|
|
|
data := make([]string, 0)
|
|
|
|
|
for _, es := range existingSlice {
|
|
|
|
|
if es == "" {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
data = append(data, es)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// add merge items (unique)
|
|
|
|
|
for _, ms := range mergeSlice {
|
|
|
|
|
if ms == "" {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
merge := true
|
|
|
|
|
for _, es := range data {
|
|
|
|
|
if strings.EqualFold(es, ms) {
|
|
|
|
|
merge = false
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if merge {
|
|
|
|
|
data = append(data, ms)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return data
|
|
|
|
|
}
|