Les types de fonctions génériques en langage Go permettent de définir des signatures de fonctions universelles pour tout type. Plus précisément : la syntaxe d'un type de fonction générique est func[type-parameters]
Types de fonctions génériques en Go
Les génériques dans le langage Go sont implémentés sous forme de paramètres de type, qui permettent de définir des fonctions pouvant opérer sur n'importe quel type. Les types de fonctions peuvent également être génériques, créant une signature de fonction générique dont les types de paramètres peuvent être n'importe quel type conforme aux contraintes données.
La syntaxe d'un type de fonction générique
La syntaxe d'un type de fonction générique est la suivante :
func[type-parameters]<fn-name>[parameters](receiver) (return-values)
où :
type-parameters
est une liste de paramètres de type, entourée par crochets [ ] composés de variables de type entre crochets. type-parameters
是一个类型参数列表,由用方括号 [] 括起来的类型变量组成。fn-name
是函数的名称。parameters
是普通函数参数的列表。receiver
是可选的接收器类型。return-values
是函数的返回值类型列表。类型约束
类型参数可以受到类型约束,这意味着它必须实现某些接口或满足其他条件。类型约束使用 []
约束语法指定。
例如,以下泛型函数类型约束类型参数 T
必须实现 fmt.Stringer
接口:
func[T fmt.Stringer]<toStringStringer>(t T) string
实战案例
考虑一个需要比较两个元素并返回较小元素的泛型函数:
package main import "fmt" func[T any]<min>(a, b T) T { if a < b { return a } return b } func main() { fmt.Println(min(1, 2)) // 1 fmt.Println(min(1.5, 2.5)) // 1.5 fmt.Println(min("a", "b")) // "a" }
在这个示例中:
min
函数泛型化,具有类型参数 T
。T
被约束为可比较类型。min
fn-name
est le nom de la fonction. parameters
est une liste de paramètres de fonction ordinaires. récepteur
est un type de récepteur facultatif.
return-values
est une liste de types de valeurs de retour de la fonction.
[]
. 🎜🎜Par exemple, le paramètre de type contrainte de type de fonction générique suivant T
doit implémenter l'interface fmt.Stringer
: 🎜rrreee🎜🎜Cas pratique🎜🎜🎜Envisager un besoin de comparaison deux éléments Et une fonction générique qui renvoie le plus petit élément : 🎜rrreee🎜 Dans cet exemple : 🎜🎜🎜 La fonction min
est générique, avec le paramètre de type T
. 🎜🎜T
est contraint d'être un type comparable. 🎜🎜La fonction principale appelle la fonction min
et transmet différents types de valeurs. 🎜🎜🎜🎜Conclusion🎜🎜🎜 Les types de fonctions génériques dans Go offrent un moyen puissant de créer des fonctions génériques qui peuvent être utilisées avec différents types. Ils assurent la sécurité des types et la réutilisabilité du code grâce à l'utilisation de paramètres de type et de contraintes de type. 🎜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!