Sobes.tech
Назад к вопросам
Junior — Middle
78

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

Компании, где спрашивали
AvitoAvito

Ответ от нейросети

sobes.tech AI

Да, в языке Go функции являются значениями первого класса, поэтому их можно передавать как аргументы другим функциям, возвращать из функций и присваивать переменным.

Пример передачи функции как аргумента:

package main
import "fmt"

func applyOperation(a, b int, op func(int, int) int) int {
    return op(a, b)
}

func main() {
    sum := func(x, y int) int { return x + y }
    result := applyOperation(3, 4, sum)
    fmt.Println(result) // Выведет 7
}

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