github.com/mgoltzsche/ctnr@v0.7.1-alpha/pkg/sliceutils/sliceutils.go (about) 1 package sliceutils 2 3 func AddToSet(set *[]string, entry string) bool { 4 if *set == nil { 5 *set = []string{entry} 6 return true 7 } else if !Contains(*set, entry) { 8 *set = append(*set, entry) 9 return true 10 } 11 return false 12 } 13 14 func RemoveFromSet(set *[]string, entry string) (removed bool) { 15 if len(*set) > 0 { 16 r := make([]string, 0, len(*set)) 17 for _, e := range *set { 18 if e == entry { 19 removed = true 20 } else { 21 r = append(r, e) 22 } 23 } 24 *set = r 25 } 26 return 27 } 28 29 func Contains(set []string, entry string) (found bool) { 30 if len(set) > 0 { 31 for _, e := range set { 32 if e == entry { 33 found = true 34 break 35 } 36 } 37 } 38 return 39 }