Notes go lang programmation fonctionnelle

Voir :

https://bitfieldconsulting.com/posts/functional

https://github.com/robpike/filter

Voir aussi Expr :

https://buildsoftwaresystems.com/fr/post/go-scripting-expr-lang-gotchas/

Voir aussi :

https://pkg.go.dev/maps

https://go.dev/blog/gofix

map

Voir :

https://stackoverflow.com/questions/12655464/can-functions-be-passed-as-parameters

package main import "fmt" //type f_ii func(int) int //func MapInt(f f_ii, l []int) [](int) { func MapInt(f func(int) int, l []int) [](int) { ret := []int{} for _, v := range l { ret = append(ret, f(v)) } return (ret) } func carre(i int) int { return i * i } func main() { liste := []int{1, 2, 3} fmt.Println(MapInt(carre, liste)) }

Voir aussi

package main import "fmt" type FuncType func(int) int func square(x int) int { return x * x } var f FuncType = FuncType(square) func main() { fmt.Println(f(5)) }

Autres

func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }