go 求max, min方法 自己来排一排 ```go package maxmin // maxmin 可以找min max,就是这么666 import ( "reflect" ) func min(arr interface{}, less func(i, j int) bool, isLess bool) interface{} { kv := reflect.ValueOf(arr) len := kv.Len() targetIndex := 0 for i := 0; i < len; i++ { if less(i, targetIndex) == isLess { targetIndex = i } } return kv.Index(targetIndex).Interface() } /*Min 求数组中的最小值 usage: min := maxmin.Min(arr, func(i, j int) bool { return arr[i] < arr[j] }) */ func Min(arr interface{}, less func(i, j int) bool) interface{} { return min(arr, less, true) } /*Max 数组中最大值: usage: max := maxmin.Max(arr, func(i, j int) bool { return arr[i] < arr[j] }) */ func Max(arr interface{}, less func(i, j int) bool) interface{} { return min(arr, less, false) } ``` 来自 大脸猫 写于 2019-02-22 23:38 -- 更新于2020-10-19 13:06 -- 0 条评论