Avatar ·

Comment déterminer le type d'une variable ou d'un objet en Go : guide pour débutants

Bonjour ! Je viens de commencer à apprendre Go et j'ai un problème. Dans d'autres langages, comme Python ou JavaScript, je peux facilement vérifier le type d'une variable à l'exécution avec type() ou typeof. Mais en Go, je ne trouve pas de moyen simple de le faire. Voici un exemple : j'écris une fonction qui prend un interface{} (interface vide) et doit traiter différents types de manière différente. Supposons que j'ai ce code : ```go package main import "fmt" func processData(data interface{}) { // Comment puis-je savoir quel type est data ? fmt.Println("Données reçues :", data) } func main() { processData(42) processData("hello") processData([]int{1, 2, 3}) } ``` Je veux que la fonction processData se comporte différemment : si c'est un int — affiche le nombre, si c'est une string — sa longueur, si c'est une slice — le nombre d'éléments. Mais je ne sais pas comment déterminer le type à l'exécution. J'ai entendu parler du package reflect, mais il semble compliqué et, dit-on, lent. Existe-t-il un moyen plus simple ? Ou reflect...