Fonctions génériques dans Go
Les types d'interface dans Go peuvent contenir n'importe quel type sans nécessiter aucune méthode implémentée, créant l'impression qu'ils servent de forme de fonctions génériques. Cependant, ce n’est pas le cas. Les véritables fonctions génériques, dont le type est inconnu au moment de la compilation, n'étaient pas prises en charge dans Go avant la version 1.18.
Dans Go 1.18, les génériques ont été introduits, permettant la création de fonctions génériques. Une fonction générique peut être définie à l'aide du mot-clé func suivi de paramètres de type entre crochets. Les paramètres de type spécifient les types acceptés par la fonction générique. Par exemple :
func Print[T any](s []T) { for _, v := range s { fmt.Print(v) } }
Dans cet exemple, T est un paramètre de type qui peut représenter n'importe quel type. La fonction Print accepte une tranche de type []T et imprime les éléments de la tranche.
Pour utiliser la fonction générique, vous pouvez passer en argument une tranche du type souhaité :
// Passing a list of strings Print([]string{"Hello, ", "world\n"}) // Passing a list of integers Print([]int{1, 2})
Le résultat du programme sera :
Hello, world 12
Les fonctions génériques fournissent un moyen concis et sûr d'écrire du code pouvant fonctionner sur différents types sans sacrifier le type. sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!