Qui dit manipulation de données en mémoire, dit adresse mémoire. Et qui dit adresse mémoire, dit pointeur, la bête noire de nombreux développeurs amateurs ou étudiants. Démystifions la croyance populaire qui veut que le pointeur soit le mal personnifié...
Une variable est une donnée à laquelle on peut accéder à n'importe quel moment. Pour cela, il faut donc qu'elle soit stockée en machine en utilisant un composant capable de répondre rapidement : la mémoire vive. Mais comme la mémoire peut contenir de nombreuses données, il faut avoir des informations précises pour pouvoir récupérer une valeur : par où commencer la lecture et où s'arrêter ? Le début de la zone mémoire est donné par l'adresse et le type de la variable permet de savoir combien de blocs d'adresse devront être lus : pour un int32 il faudra lire 4 octets, pour un uint8 il faudra lire un seul octet, etc. La figure 1 montre le mécanisme de stockage d'une variable en mémoire.
D'un point de vue syntaxique, la gestion des pointeurs en Go s'effectue de manière très similaire à celle du C... mais en plus simple !
1. Travailler avec les adresses mémoire
Pour toute variable, il est possible...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première