Maison >développement back-end >Golang >Comment utiliser les génériques de Golang
L'utilisation des génériques golang peut être remplacée par les méthodes suivantes : 1. Utilisation d'interfaces. En définissant des interfaces et en utilisant des types d'interface comme paramètres ou types de retour dans des fonctions ou des méthodes, des opérations abstraites sur différents types peuvent être réalisées ; tools , génèrent des types de code spécifiques pour obtenir un comportement générique, mais le code du modèle doit être défini à l'avance et le code du modèle doit être converti en types de code spécifiques via l'outil de génération.
Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.
L'utilisation des génériques Golang peut être remplacée par les méthodes suivantes :
type MyGeneric interface { DoSomething() } func ProcessGeneric(g MyGeneric) { // 对泛型进行处理 g.DoSomething() }
//go:generate go run gen.go func ProcessGeneric(g GenericType) { // 处理泛型 } // gen.go package main import ( "fmt" "os" "text/template" ) type GenericType int func main() { tmpl := template.Must(template.New("").Parse(` type GenericType {{.}} `)) types := []string{"int", "string", "float64"} for _, t := range types { f, err := os.Create(fmt.Sprintf("generic_%s.go", t)) if err != nil { fmt.Println(err) continue } defer f.Close() tmpl.Execute(f, t) } }
Dans cet exemple, nous créons un modèle de type GenericType et utilisons l'outil de génération de code pour générer des fichiers de code spécifiques basés sur différents types (int, string, float64).
Il convient de noter que la méthode ci-dessus est une solution de compromis et n'est pas une implémentation générique officiellement prise en charge. L'équipe du langage Go est en train de développer des génériques et pourrait lancer un support générique officiel à l'avenir.
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!