mirror of
https://github.com/duke-git/lancet.git
synced 2026-02-13 01:02:28 +08:00
docs: add doc for func MaxBy and MinBy
This commit is contained in:
@@ -25,7 +25,9 @@ import (
|
|||||||
- [Fibonacci](#Fibonacci)
|
- [Fibonacci](#Fibonacci)
|
||||||
- [Factorial](#Factorial)
|
- [Factorial](#Factorial)
|
||||||
- [Max](#Max)
|
- [Max](#Max)
|
||||||
|
- [MaxBy](#MaxBy)
|
||||||
- [Min](#Min)
|
- [Min](#Min)
|
||||||
|
- [MinBy](#MaxBy)
|
||||||
|
|
||||||
- [Percent](#Percent)
|
- [Percent](#Percent)
|
||||||
- [RoundToFloat](#RoundToFloat)
|
- [RoundToFloat](#RoundToFloat)
|
||||||
@@ -177,6 +179,45 @@ func main() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### <span id="MaxBy">MaxBy</span>
|
||||||
|
<p>Return the maximum value of a slice using the given comparator function.</p>
|
||||||
|
|
||||||
|
<b>Signature:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
func MaxBy[T any](slice []T, comparator func(T, T) bool) T
|
||||||
|
```
|
||||||
|
<b>Example:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/duke-git/lancet/v2/mathutil"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
res1 := mathutil.MaxBy([]string{"a", "ab", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res1) //abc
|
||||||
|
|
||||||
|
res2 := mathutil.MaxBy([]string{"abd", "abc", "ab"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res2) //abd
|
||||||
|
|
||||||
|
res3 := mathutil.MaxBy([]string{}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res3) //“”
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <span id="Min">Min</span>
|
### <span id="Min">Min</span>
|
||||||
<p>Return min value of numbers.</p>
|
<p>Return min value of numbers.</p>
|
||||||
|
|
||||||
@@ -204,6 +245,45 @@ func main() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### <span id="MinBy">MinBy</span>
|
||||||
|
<p>Return the minimum value of a slice using the given comparator function.</p>
|
||||||
|
|
||||||
|
<b>Signature:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
func MinBy[T any](slice []T, comparator func(T, T) bool) T
|
||||||
|
```
|
||||||
|
<b>Example:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/duke-git/lancet/v2/mathutil"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
res1 := mathutil.MinBy([]string{"a", "ab", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res1) //a
|
||||||
|
|
||||||
|
res2 := mathutil.MinBy([]string{"ab", "ac", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res2) //ab
|
||||||
|
|
||||||
|
res3 := mathutil.MinBy([]string{}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res3) //“”
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <span id="Percent">Percent</span>
|
### <span id="Percent">Percent</span>
|
||||||
<p>calculate the percentage of val to total, retain n decimal places.</p>
|
<p>calculate the percentage of val to total, retain n decimal places.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ import (
|
|||||||
- [Fibonacci](#Fibonacci)
|
- [Fibonacci](#Fibonacci)
|
||||||
- [Factorial](#Factorial)
|
- [Factorial](#Factorial)
|
||||||
- [Max](#Max)
|
- [Max](#Max)
|
||||||
|
- [MaxBy](#MaxBy)
|
||||||
- [Min](#Min)
|
- [Min](#Min)
|
||||||
|
- [MinBy](#MaxBy)
|
||||||
|
|
||||||
- [Percent](#Percent)
|
- [Percent](#Percent)
|
||||||
- [RoundToFloat](#RoundToFloat)
|
- [RoundToFloat](#RoundToFloat)
|
||||||
@@ -174,6 +176,45 @@ func main() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### <span id="MaxBy">MaxBy</span>
|
||||||
|
<p>使用给定的比较器函数返回切片的最大值</p>
|
||||||
|
|
||||||
|
<b>函数签名:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
func MaxBy[T any](slice []T, comparator func(T, T) bool) T
|
||||||
|
```
|
||||||
|
<b>例子:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/duke-git/lancet/v2/mathutil"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
res1 := mathutil.MaxBy([]string{"a", "ab", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res1) //abc
|
||||||
|
|
||||||
|
res2 := mathutil.MaxBy([]string{"abd", "abc", "ab"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res2) //abd
|
||||||
|
|
||||||
|
res3 := mathutil.MaxBy([]string{}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) > len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res3) //“”
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <span id="Min">Min</span>
|
### <span id="Min">Min</span>
|
||||||
<p>返回参数中的最小数</p>
|
<p>返回参数中的最小数</p>
|
||||||
|
|
||||||
@@ -201,6 +242,45 @@ func main() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### <span id="MinBy">MinBy</span>
|
||||||
|
<p>使用给定的比较器函数返回切片的最小值</p>
|
||||||
|
|
||||||
|
<b>函数签名:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
func MinBy[T any](slice []T, comparator func(T, T) bool) T
|
||||||
|
```
|
||||||
|
<b>例子:</b>
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/duke-git/lancet/v2/mathutil"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
res1 := mathutil.MinBy([]string{"a", "ab", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res1) //a
|
||||||
|
|
||||||
|
res2 := mathutil.MinBy([]string{"ab", "ac", "abc"}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res2) //ab
|
||||||
|
|
||||||
|
res3 := mathutil.MinBy([]string{}, func(v1, v2 string) bool {
|
||||||
|
return len(v1) < len(v2)
|
||||||
|
})
|
||||||
|
fmt.Println(res3) //“”
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <span id="Percent">Percent</span>
|
### <span id="Percent">Percent</span>
|
||||||
<p>计算百分比,保留n位小数</p>
|
<p>计算百分比,保留n位小数</p>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user