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.