Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: function, first class, parameter, callback

Можно ли передать функцию как параметр другой функции?

Этот вопрос проверяет знание концепции "функции первого класса" и умение использовать функции как значения.

Короткий ответ

Да, в Go функции можно передавать как параметры другим функциям. Это позволяет создавать гибкие и переиспользуемые блоки логики. Такие функции называются функциями первого класса.

 

Длинный ответ

В Go функции являются объектами первого класса (first-class citizens), что означает:

  • Функцию можно сохранить в переменной.

  • Её можно передавать как аргумент.

  • Её можно возвращать из других функций.

Пример:

package main

import "fmt"

func apply(f func(int) int, x int) int {
    	return f(x)
}

func square(n int) int {
    	return n * n
}

func main() {
    	result := apply(square, 5)
    	fmt.Println(result) // 25
}

Когда использовать:

  • Когда нужно передавать поведение (например, фильтрация, сортировка).

  • При использовании колбэков или шаблонов логики.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Golang

    Golang

Ключевые слова

#function

#first class

#parameter

#callback

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.