В последней версии Go, 1.21, появились две новые встроенные функции: min() и max(). Эти функции уже давно используются во многих других языках, таких как Python и JavaScript, и теперь являются долгожданным дополнением к Go.
Функции min() и max() были введены для упрощения процесса поиска наименьшего и наибольшего значения в наборе чисел.
Как использовать min() и max() Примечание.
В примере ниже используются встроенные функции min и max, про slices см. ниже
package main
import "fmt"
func main() {
// Max
num := max(1, 2, 3)
fmt.Println("Max =", num)
// Min
minNum := min(1, 2, 3)
fmt.Println("Min =", minNum)
// Won't run:
// invalid argument: myList (variable of type []int) cannot be ordered
// myList := []int{1, 2, 3}
// fmt.Println("Max in Slice =", max(myList))
}
А как насчет slices?
Пакет slices также содержит функции поиска минимальных и максимальных значений в наборе данных.
package main
import (
"fmt"
"slices"
)
func main() {
myList := []int{1, 2, 3}
// Max in Slice
max := slices.Max(myList)
fmt.Println("Max in Slice =", max)
// Min in Slice
min := slices.Min(myList)
fmt.Println("Min in Slice =", min)
}