Sobes.tech
Junior — Middle

¿Cómo se puede pasar una función como argumento para ser llamada dentro de otra función?

sobes.tech AI

Respuesta de la IA

En Go, las funciones son valores de primera clase, por lo que se pueden pasar como argumentos a otras funciones.

Ejemplo de pasar una función a otra función:

package main

import "fmt"

// Función que acepta otra función como argumento
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) // Imprime 7
}

Aquí, applyOperation acepta dos números y una función op, que define la operación sobre estos números. En main, pasamos una función anónima de suma.

Por lo tanto, para pasar una función en Go, basta con especificar el tipo de argumento como func(...) ... y pasar la función deseada al llamar.