v1.1.2
This commit is contained in:
兔子
2023-05-13 18:35:49 +08:00
parent 962ef6a216
commit 1f83977e03

View File

@@ -1,13 +1,29 @@
package utils package utils
import "reflect" import (
"reflect"
"sync"
)
// InArray - 判断某个值是否在数组中 // InArray - 判断某个值是否在数组中
func InArray[T any](value T, array []T) (ok bool) { func InArray[T any](value T, array []T) (ok bool) {
var wg sync.WaitGroup
var mutex sync.Mutex
found := false
for _, val := range array { for _, val := range array {
if reflect.DeepEqual(value, val) { if found {
return true break
} }
wg.Add(1)
go func(item T) {
defer wg.Done()
if reflect.DeepEqual(value, item) {
mutex.Lock()
found = true
mutex.Unlock()
}
}(val)
} }
return false wg.Wait()
} return found
}