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  }