Browse Source

Merge branch 'feature_gxh'

pull/48/head
Sydonian 1 year ago
parent
commit
a8aaee28ff
1 changed files with 25 additions and 0 deletions
  1. +25
    -0
      utils/lo2/lo.go

+ 25
- 0
utils/lo2/lo.go View File

@@ -19,6 +19,22 @@ func RemoveAt[T any](arr []T, index int) []T {
return append(arr[:index], arr[index+1:]...)
}

func RemoveAllDefault[T comparable](arr []T) []T {
var def T
return lo.Filter(arr, func(i T, idx int) bool {
return i != def
})
}

func Clear[T comparable](arr []T, item T) {
var def T
for i := 0; i < len(arr); i++ {
if arr[i] == item {
arr[i] = def
}
}
}

func ArrayClone[T any](arr []T) []T {
return append([]T{}, arr...)
}
@@ -29,3 +45,12 @@ func Insert[T any](arr []T, index int, item T) []T {
arr[index] = item
return arr
}

func Deref[T any](arr []*T) []T {
result := make([]T, len(arr))
for i := 0; i < len(arr); i++ {
result[i] = *arr[i]
}

return result
}

Loading…
Cancel
Save