Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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 поддържа функционален стил на програмиране чрез предаване на функции като параметри.