Generics
Partie du cours Go
Vous écrivez une fonction qui trouve le plus grand nombre dans une slice de int. Puis il vous en faut une pour float64, alors vous la copiez et vous changez deux mots. Puis une pour string. Vous voilà avec trois fonctions quasi identiques, et quand vous corrigez un bug dans l'une, il vous reste à penser aux deux autres.
Pendant presque toute son existence, Go n'a pas eu de réponse propre à cela. Soit vous dupliquiez la fonction, soit vous utilisiez interface{}, qui acceptait n'importe quoi et abandonnait toute vérification de types, si bien que le compilateur ne pouvait plus vous signaler que vous aviez passé une slice du mauvais genre. Duplication ou aveuglement, choisissez.
Envie d’apprendre Go Generics dans un vrai environnement ?
Cliquez ci-dessous, obtenez une machine Linux avec Go prêt, et travaillez sur Generics avec un tuteur IA qui connaît votre code.
Commencer cette leçonGenericsCe que vous allez apprendre
- Type parameters with [T any]
- Constraints
- Comparable
- Tilde approximation ~int
- Generic Map and Filter
- When generics help, when they do not
