Maison >développement back-end >Golang >Go utilise-t-il des interfaces vides ou des paramètres de type pour les fonctions génériques ?
Fonctions génériques dans Go
Dans Go, le concept de fonctions génériques trouve sa mise en œuvre grâce à l'utilisation d'une interface vide. Une interface vide, du fait qu’elle ne nécessite aucune implémentation de méthode supplémentaire, a la capacité de contenir n’importe quel type de valeur. Cela amène à se demander si cela constitue l'approche de Go pour l'implémentation de fonctions génériques ou s'il existe une alternative plus appropriée.
Depuis Go 1.18, une méthode plus moderne et explicite pour définir des fonctions génériques a été introduite. Il exploite les paramètres de type pour spécifier les types sur lesquels la fonction peut opérer. Par exemple, considérons la fonction générique suivante Print :
package main import ( "fmt" ) // T can be any type func Print[T any](s []T) { for _, v := range s { fmt.Print(v) } } func main() { // Passing list of string works Print([]string{"Hello, ", "world\n"}) // You can pass a list of int to the same function as well Print([]int{1, 2}) }
Output :
Hello, world 12
Cette méthode fournit une déclaration plus propre et plus explicite des fonctions génériques, ce qui facilite la compréhension et la maintenance. la base de code.
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!