Peut-on passer des fonctions comme paramètres en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go, et j'ai une question sur le travail avec les fonctions. Dans d'autres langages, comme Python ou JavaScript, j'ai l'habitude de passer des fonctions en tant qu'arguments à d'autres fonctions. C'est très pratique pour créer des callbacks, des gestionnaires d'événements ou implémenter des stratégies de tri.
En Go, j'ai découvert que les fonctions sont une entité distincte. J'essaie d'écrire une fonction qui prend une autre fonction et l'applique aux éléments d'un tableau, mais le compilateur se plaint de mon code.
Voici ce que j'essaie de faire :
```go
package main
import "fmt"
func applyToSlice(s []int, fn func(int) int) []int {
result := make([]int, len(s))
for i, v := range s {
result[i] = fn(v)
}
return result
}
func main() {
nums := []int{1, 2, 3, 4}
// Je veux passer une fonction qui double le nombre
doubled := applyToSlice(nums, func(x int) int {
return x * 2
})
fmt.Println(doubled)
}
```
Ce code fonctionne, mais je n
No answers yet.
Connectez-vous pour laisser une réponse