Maison >développement back-end >Golang >Pourquoi Go manquait-il initialement de génériques et pourquoi cette décision a-t-elle été prise ?

Pourquoi Go manquait-il initialement de génériques et pourquoi cette décision a-t-elle été prise ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 05:55:18336parcourir

Why Did Go Initially Lack Generics, and Why Was This Decision Made?

Comprendre l'absence de génériques dans Go

Go est un langage de programmation qui met l'accent sur la simplicité et l'efficacité. Une fonctionnalité notable qui lui manque est la prise en charge des génériques, qui permettent aux programmeurs de créer des types de données personnalisés pouvant fonctionner sur une gamme de valeurs différentes.

Bien que les génériques soient un concept courant dans de nombreux langages, leur absence dans Go a suscité questions. Pourquoi les créateurs de Go ont-ils opté pour ce choix de conception ?

Selon la FAQ officielle de Go, la décision a été prise par souci de complexité. Les génériques peuvent introduire une complexité significative dans le système de types et l'exécution d'un langage. L'équipe Go estime que cette complexité supplémentaire ne devrait être introduite que si elle apporte une valeur claire aux développeurs.

Ils soutiennent que les cartes et les tranches intégrées de Go, ainsi que la possibilité d'utiliser l'interface vide pour créer des conteneurs , permettent aux programmeurs d'atteindre bon nombre des mêmes objectifs que les génériques, quoique d'une manière moins pratique.

L'équipe Go reconnaît que les génériques pourraient être précieux à l'avenir, mais elle estime que les avantages actuels ne compensent pas les inconvénients potentiels. Ils continuent d'explorer des conceptions potentielles pour les génériques et les ajouteront au langage lorsqu'ils trouveront une solution appropriée.

Remarque : Il est important de noter que les génériques ont été ajoutés à Go dans la version 1.18. , répondant aux préoccupations exprimées dans l'entrée originale de la FAQ.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn