Maison >développement back-end >Golang >Comment les cartes sont-elles transmises dans Go : par valeur ou par référence ?

Comment les cartes sont-elles transmises dans Go : par valeur ou par référence ?

DDD
DDDoriginal
2024-12-02 17:13:18994parcourir

How are Maps Passed in Go: By Value or By Reference?

Passer des cartes par référence

Dans Go, les cartes sont fondamentalement des types de référence. Cela signifie que lorsqu'une carte est passée en argument à une fonction, la carte réelle est passée par référence et non copiée.

Dans votre exemple, vous avez tenté de créer des pointeurs vers des cartes en utilisant le code suivant :

valueTo := &valueToSomeType
nameTo := &nameToSomeType

Cependant, cela n'est pas nécessaire car les cartes sont déjà transmises par référence. Vous pouvez accéder directement aux cartes en utilisant les noms valueToSomeType et nameToSomeType, sans créer de pointeurs.

Accès aux éléments de la carte

Pour accéder aux éléments d'une carte, vous pouvez utiliser le notation entre parenthèses :

value := valueToSomeType[number]

Ici, value sera la valeur associée au numéro de clé dans valueToSomeType map.

Notes supplémentaires

L'erreur interne du compilateur error: var without type, init: new que vous avez rencontrée plus tôt peut avoir été causée par un problème distinct dans votre code . Cela n'a aucun rapport avec la façon dont vous transmettez les cartes par référence.

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