Non, les fonctions génériques de Go ne prennent en charge que les types définis par l'utilisateur, les types de pointeurs, les types de tranches, les types de cartes et les types de canaux.
Les fonctions génériques prennent-elles en charge tous les types dans Golang ?
Aperçu
Les fonctions génériques nous permettent de créer des fonctions qui fonctionnent sur différents types de données. Les génériques ont été introduits dans Go 1.18, mais ils ne fonctionnent pas avec tous les types.
Limitations
Il existe certaines restrictions sur les fonctions génériques dans Go, notamment :
Types pris en charge
Les fonctions génériques dans Go prennent en charge les types suivants :
Cas pratique
Voici un exemple montrant comment utiliser les fonctions génériques :
func max[T constraints.Ordered](a, b T) T { if a > b { return a } return b } func main() { maxInt := max(5, 10) // int 类型 maxFloat := max(3.14, 6.28) // float64 类型 }
L'opérateur de comparaison max
函数接受两个实现 constraints.Ordered
接口的泛型类型参数,并返回两者中较大的一个。此接口提供 和 <code>>
.
Conclusion
Les fonctions génériques dans Go sont très utiles pour créer des fonctions qui fonctionnent sur différents types de données. Cependant, il présente certaines limites, telles que l'impossibilité d'utiliser des types primitifs ou des types sans ensembles de méthodes.
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!