1 Star 4 Fork 0

jingshanccc/course

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tools.go 721 Bytes
一键复制 编辑 原始数据 按行查看 历史
micahchen 提交于 2021-04-16 11:26 +08:00 . [conf] public
package util
import (
"fmt"
"reflect"
)
// Contains: 检查数组是否包含指定元素 是返回元素下标 否返回-1
func Contains(array interface{}, val interface{}) (index int) {
index = -1
if array == nil {
return
}
fmt.Printf("type:%v\n", reflect.TypeOf(array).Kind())
switch reflect.TypeOf(array).Kind() {
case reflect.Slice:
{
s := reflect.ValueOf(array)
for i := 0; i < s.Len(); i++ {
if reflect.DeepEqual(val, s.Index(i).Interface()) {
index = i
return
}
}
}
case reflect.Array:
{
s := reflect.ValueOf(array)
for i := 0; i < s.Len(); i++ {
if reflect.DeepEqual(val, s.Index(i).Interface()) {
index = i
return
}
}
}
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jingshanccc/course.git
git@gitee.com:jingshanccc/course.git
jingshanccc
course
course
23f538baa694

搜索帮助