github.com/Cloud-Foundations/Dominator@v0.3.4/lib/stringutil/convert.go (about)

     1  package stringutil
     2  
     3  import (
     4  	"sort"
     5  )
     6  
     7  func convertListToMap(list []string, makeIfEmpty bool) map[string]struct{} {
     8  	if len(list) < 1 && !makeIfEmpty {
     9  		return nil
    10  	}
    11  	retval := make(map[string]struct{}, len(list))
    12  	for _, entry := range list {
    13  		retval[entry] = struct{}{}
    14  	}
    15  	return retval
    16  }
    17  
    18  func convertMapKeysToList(mapData map[string]struct{}, doSort bool) []string {
    19  	keys := make([]string, 0, len(mapData))
    20  	for key := range mapData {
    21  		keys = append(keys, key)
    22  	}
    23  	if doSort {
    24  		sort.Strings(keys)
    25  	}
    26  	return keys
    27  }