Sobes.tech
Junior — Middle

Este posibil să se transmită o funcție ca argument al altei funcții în limbajul Go?

sobes.tech AI

Răspuns de la AI

Da, în limbajul Go, funcțiile sunt valori de primă clasă, așa că pot fi transmise ca argumente altor funcții, returnate din funcții și atribuite variabilelor.

Exemplu de transmitere a unei funcții ca argument:

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) // Va afișa 7
}

Astfel, Go suportă stilul de programare funcțional prin transmiterea funcțiilor ca parametri.