Paramètres de type
Contexte
Section intitulée « Contexte »Les génériques (introduits en Go 1.18) permettent d’écrire des fonctions et des types qui fonctionnent avec n’importe quel type, tout en préservant la sécurité de type. Un paramètre de type est déclaré avec des crochets : func F[T any](x T) T. La contrainte any signifie que tous les types sont autorisés.
Écrire une fonction générique Reverse qui fonctionne sur n’importe quelle slice.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func Reverse[T any](s []T) []T { resultat := make([]T, len(s)) for i, v := range s { resultat[len(s)-1-i] = v } return resultat}
func main() { ints := []int{1, 2, 3, 4} fmt.Println(Reverse(ints))
strs := []string{"a", "b", "c"} fmt.Println(Reverse(strs))}[4 3 2 1][c b a]