Initial import
This commit is contained in:
23
internal/stringutil/iter.go
Normal file
23
internal/stringutil/iter.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package stringutil
|
||||
|
||||
import "sort"
|
||||
|
||||
func MapKeys(m map[string]string) <-chan string {
|
||||
ch := make(chan string)
|
||||
if m == nil {
|
||||
close(ch)
|
||||
} else {
|
||||
go func(ch chan<- string) {
|
||||
defer close(ch)
|
||||
keys := make([]string, 0, len(m))
|
||||
for k := range m {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
for _, k := range keys {
|
||||
ch <- k
|
||||
}
|
||||
}(ch)
|
||||
}
|
||||
return ch
|
||||
}
|
Reference in New Issue
Block a user