РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
271 of 1593 menu

Функция slices.MaxFunc

Функция slices.MaxFunc находит максимальное значение в слайсе, используя для сравнения пользовательскую функцию. Она возвращает максимальный элемент согласно заданной логике сравнения. Первым аргументом функция принимает слайс, вторым — функцию сравнения, которая возвращает положительное число, если первый элемент больше второго.

Синтаксис

slices.MaxFunc(slice, func(a, b T) int)

Пример с числами

Давайте найдем максимальное число в слайсе чисел:

package main import ( "fmt" "slices" ) func main() { nums := []int{5, 2, 8, 1, 9, 3} res := slices.MaxFunc(nums, func(a, b int) int { return a - b }) fmt.Println(res) }

Результат выполнения кода:

9

Пример со строками

Найдем самую длинную строку в слайсе строк:

package main import ( "fmt" "slices" ) func main() { words := []string{"a", "abc", "ab", "abcd", "b"} res := slices.MaxFunc(words, func(a, b string) int { return len(a) - len(b) }) fmt.Println(res) }

Результат выполнения кода:

"abcd"

Пример со структурой

Найдем пользователя с максимальным возрастом в слайсе структур:

package main import ( "fmt" "slices" ) type User struct { Name string Age int } func main() { users := []User{ {"Alice", 25}, {"Bob", 30}, {"Charlie", 28}, } res := slices.MaxFunc(users, func(a, b User) int { return a.Age - b.Age }) fmt.Println(res) }

Результат выполнения кода:

{Bob 30}

Смотрите также

  • функцию slices.Max,
    которая находит максимальный элемент без пользовательской функции
  • функцию slices.MinFunc,
    которая находит минимальный элемент по пользовательской функции
  • функцию slices.SortFunc,
    которая сортирует слайс по пользовательской функции
  • функцию slices.IsSortedFunc,
    которая проверяет отсортирован ли слайс по пользовательской функции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить