go_in_array写法

// 判断某一个值是否含在切片之中 func InArray(need interface{}, haystack interface{}) bool { switch key := need.(type) { case int: for _, item := range haystack.([]int) { if item == key { return true } } case string: for _, item := range haystack.([]string) { if item == key { return true } } case int64: for _, item := range haystack.([]int64) { if item == key { return true } } case float64: for _, item := range haystack.([]float64) { if item == key { return true } } default: return false } return false } //判断某一个值是否含在切片之中 func In_Array(val interface{}, array interface{}) (exists bool, index int) { exists = false index = -1switch 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()) == true { index = i exists = true return } } }return }

go_in_array写法
文章图片
image.png

    推荐阅读