mirror of
https://github.com/unti-io/go-utils.git
synced 2025-10-17 05:41:20 +08:00
v1.0.0
This commit is contained in:
@@ -46,6 +46,8 @@ func init() {
|
||||
In.Array = InArray[any]
|
||||
Array.Filter = ArrayFilter
|
||||
Array.Remove = ArrayRemove
|
||||
Array.Unique = ArrayUnique[any]
|
||||
Array.Empty = ArrayEmpty[any]
|
||||
Password.Create = PasswordCreate
|
||||
Password.Verify = PasswordVerify
|
||||
Rand.Int = RandInt
|
||||
@@ -123,6 +125,8 @@ var In struct {
|
||||
var Array struct {
|
||||
Filter func(array []string) (slice []string)
|
||||
Remove func(array []string, args ...string) (slice []string)
|
||||
Unique func(array []any) (slice []any)
|
||||
Empty func(array []any) (slice []any)
|
||||
}
|
||||
|
||||
var Password struct {
|
||||
|
@@ -29,3 +29,25 @@ func ArrayRemove(array []string, args ...string) []string {
|
||||
}
|
||||
return array
|
||||
}
|
||||
|
||||
// ArrayUnique - 数组去重
|
||||
func ArrayUnique[T any](array []T) (slice []any) {
|
||||
list := make(map[any]bool)
|
||||
for _, item := range array {
|
||||
if !list[item] {
|
||||
list[item] = true
|
||||
slice = append(slice, item)
|
||||
}
|
||||
}
|
||||
return slice
|
||||
}
|
||||
|
||||
// ArrayEmpty - 数组去空
|
||||
func ArrayEmpty[T any](array []T) (slice []any) {
|
||||
for _, item := range array {
|
||||
if !IsEmpty(item) {
|
||||
slice = append(slice, item)
|
||||
}
|
||||
}
|
||||
return slice
|
||||
}
|
||||
|
@@ -153,7 +153,7 @@ func ParseParams(params map[string]any) (result map[string]any) {
|
||||
params[keys[0]] = make(map[string]any, 3)
|
||||
}
|
||||
wg.Add(1)
|
||||
go worker(params[keys[0]].(map[string]any), strings.Join(keys[1:], "."), val)
|
||||
go worker(cast.ToStringMap(params[keys[0]]), strings.Join(keys[1:], "."), val)
|
||||
}
|
||||
|
||||
return
|
||||
|
Reference in New Issue
Block a user