Sobes.tech
Junior — Middle

Quels types de programmation générique sont disponibles dans le langage Go?

sobes.tech IA

Réponse de l'IA

Dans le langage Go, la programmation générique est réalisée à travers les génériques, qui sont apparus à partir de la version 1.18. Les principaux types de génériques en Go incluent :

  • Types paramétrés (types génériques) : les fonctions et types peuvent accepter des paramètres de types, permettant d’écrire un code universel.
  • Interfaces avec contraintes (contraintes de types) : définissent des exigences pour les types de paramètres, par exemple, que le type supporte certaines méthodes ou appartient à un ensemble spécifique de types.

Exemple d’une fonction générique pour un slice :

func IndexOf[T comparable](slice []T, val T) int {
    for i, v := range slice {
        if v == val {
            return i
        }
    }
    return -1
}

Ici, T est un paramètre de type limité par l’interface comparable, ce qui permet d’utiliser l’opérateur ==. Cette fonction est universelle pour tous les types comparables.

Ainsi, Go supporte la générique via la paramétrisation de types et les contraintes, ce qui augmente la flexibilité et la réutilisation du code.