Sobes.tech
Junior — Middle

Peut-on passer une fonction en argument d'une autre fonction dans le langage Go?

sobes.tech IA

Réponse de l'IA

Oui, dans le langage Go, les fonctions sont des valeurs de première classe, ce qui permet de les passer en tant qu'arguments à d'autres fonctions, de les retourner depuis des fonctions et de les assigner à des variables.

Exemple de passage d'une fonction en tant qu'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) // Affiche 7
}

Ainsi, Go supporte un style de programmation fonctionnelle avec le passage de fonctions en tant que paramètres.