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