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
import "reflect"
import (
"reflect"
"sync"
)
// InArray - 判断某个值是否在数组中
func InArray[T any](value T, array []T) (ok bool) {
var wg sync.WaitGroup
var mutex sync.Mutex
found := false
for _, val := range array {
if reflect.DeepEqual(value, val) {
return true
if found {
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
}