Maison > Article > développement back-end > Comment les génériques Golang étendent-ils la réutilisabilité des fonctions ?
Les génériques Go sont une fonctionnalité qui rend le code réutilisable via des types paramétrés, notamment : Collections de type sécurisé : vous pouvez créer des collections qui stockent des éléments de différents types. Fonction de comparaison universelle : peut comparer n’importe quel type qui implémente l’interface comparable.
Go Generics : un outil puissant pour étendre la réutilisabilité des fonctions
Introduction
Introduits dans Go 1.18, les génériques sont une fonctionnalité puissante qui permet aux développeurs de créer du code réutilisable au lieu d'avoir à écrire des fonctions à plusieurs reprises. différents types. Cela facilite l’écriture d’un code clair et maintenable.
Syntaxe
Les génériques Go utilisent des crochets angulaires pour déclarer les paramètres de type. Par exemple :
func Max[T any](a, b T) T { if a > b { return a } return b }
Dans ce cas, T
est un paramètre de type et peut être de n'importe quel type. La fonction Max
renvoie le plus grand de a
et b
. T
是一个类型参数,可以是任何类型。Max
函数将返回 a
和 b
中较大者。
实战案例
1. 类型安全的集合
泛型可以使用户创建类型安全的集合,可以存储不同类型的元素。以下示例创建了一个类型化切片:
type StringSlice []string func (s StringSlice) Add(item string) { s = append(s, item) }
现在,我们可以使用这个切片来存储字符串,而不用担心类型转换错误:
func main() { var names StringSlice names.Add("Alice") names.Add("Bob") }
2. 通用的比较函数
泛型可用于编写通用的比较函数,可以对任意类型的两个元素进行比较:
func Equal[T comparable](a, b T) bool { return a == b }
此函数可以用于比较任何实现了 comparable
Cas pratiques
1. Collections de type sécurisé
🎜🎜Les génériques permettent aux utilisateurs de créer des collections de type sécurisé pouvant stocker des éléments de différents types. L'exemple suivant crée une tranche typée : 🎜fmt.Println(Equal(1, 2)) fmt.Println(Equal("foo", "bar"))🎜 Maintenant, nous pouvons utiliser cette tranche pour stocker des chaînes sans nous soucier des erreurs de conversion de type : 🎜rrreee🎜🎜 2. Fonctions de comparaison génériques 🎜🎜🎜Les génériques peuvent être utilisés pour écrire des fonctions de comparaison génériques. peut comparer deux éléments de n'importe quel type : 🎜rrreee🎜 Cette fonction peut être utilisée pour comparer n'importe quel type qui implémente l'interface
comparable
. Par exemple : 🎜rrreee🎜🎜Conclusion🎜🎜🎜Go Generics est une fonctionnalité puissante qui permet aux développeurs de créer du code réutilisable et facile à maintenir. En paramétrant les types, les génériques rendent les fonctions et les types plus généraux et aident à éliminer le code en double. 🎜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!