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  }