spider-scheduler/pkg/util/slice.go

22 lines
491 B
Go
Raw Normal View History

package util
func InStringSlice(sl []string, ele string) bool {
slMap := convertStrSlice2Map(sl)
return inMap(slMap, ele)
}
// ConvertStrSlice2Map 将字符串 slice 转为 map[string]struct{}。
func convertStrSlice2Map(sl []string) map[string]struct{} {
set := make(map[string]struct{}, len(sl))
for _, v := range sl {
set[v] = struct{}{}
}
return set
}
// InMap 判断字符串是否在 map 中。
func inMap(m map[string]struct{}, s string) bool {
_, ok := m[s]
return ok
}