Sobes.tech
Junior — Middle

É possível passar uma função como argumento para outra função na linguagem Go?

sobes.tech IA

Resposta da IA

Sim, na linguagem Go, as funções são valores de primeira classe, pelo que podem ser passadas como argumentos para outras funções, devolvidas de funções e atribuídas a variáveis.

Exemplo de passar uma função como argumento:

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) // Vai imprimir 7
}

Assim, Go suporta um estilo de programação funcional com o envio de funções como parâmetros.