Функция slices.Max
Функция slices.Max возвращает максимальный элемент из среза.
Для числовых типов это наибольшее числовое значение, для строк -
последняя строка в порядке лексикографического сравнения (по ASCII).
В первый параметр мы передаем срез элементов, среди которых нужно найти максимум.
Функция требует, чтобы элементы были сравнимыми с помощью оператора <.
Синтаксис
slices.Max(slice)
Пример со срезом чисел
Давайте найдем максимальный элемент в срезе чисел []int{1, 2, 3, 4, 5}:
package main
import (
"fmt"
"slices"
)
func main() {
numbers := []int{1, 2, 3, 4, 5}
res := slices.Max(numbers)
fmt.Println(res)
}
Результат выполнения кода:
5
Пример со срезом строк
Давайте найдем максимальный элемент в срезе строк []string{"a", "b", "c", "d", "e"}:
package main
import (
"fmt"
"slices"
)
func main() {
letters := []string{"a", "b", "c", "d", "e"}
res := slices.Max(letters)
fmt.Println(res)
}
Результат выполнения кода:
"e"
Как видите, для строк максимальным является элемент с наибольшим значением в лексикографическом порядке.
Пример с отрицательными числами
Функция корректно работает и с отрицательными числами:
package main
import (
"fmt"
"slices"
)
func main() {
numbers := []int{-5, -2, -10, -1, -8}
res := slices.Max(numbers)
fmt.Println(res)
}
Результат выполнения кода:
-1
Смотрите также
-
функцию
slices.Min,
которая возвращает минимальный элемент в срезе -
функцию
slices.Contains,
которая проверяет наличие элемента в срезе -
функцию
slices.Index,
которая возвращает позицию первого вхождения элемента -
функцию
slices.Reverse,
которая изменяет порядок элементов в срезе на обратный