Maison >développement back-end >Golang >Quel est l'équivalent de Go aux pointeurs vides de C ?

Quel est l'équivalent de Go aux pointeurs vides de C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-16 16:14:11925parcourir

What is Go's Equivalent to C's Void Pointers?

L'équivalent Go des pointeurs vides en C

Pour créer une structure de données pouvant contenir n'importe quel type dans Go, envisagez d'utiliser l'interface vide.

L'interface vide : interface{}

Selon la spécification du langage de programmation Go, "tous les types implémentent l'interface vide". Cela signifie que vous pouvez définir une variable de type interface{} et lui attribuer une valeur de n'importe quel type non-interface.

var value interface{} = 10

Cette fonctionnalité vous permet de créer des structures de données pouvant stocker des valeurs de tout type, similaire aux pointeurs void en C. Par exemple, vous pouvez définir une liste chaînée où chaque nœud peut contenir une valeur de n'importe quel type :

type Node struct {
    Value interface{}
    Next  *Node
}

Mise à jour : any Alias

À partir de Go 1.18, l'alias intégré any a été introduit comme synonyme d'interface{}. Il fournit un nom plus concis et descriptif pour l'interface vide.

var value any = 10

Conclusion

En utilisant l'interface vide ou son alias any, vous pouvez créer des structures de données Go capables de stocker des valeurs de n'importe quel type, obtenant une fonctionnalité similaire aux pointeurs vides en C.

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