Maison > développement back-end > Golang > Comment attribuer en toute sécurité une valeur entière à un pointeur entier dans Go ?

Comment attribuer en toute sécurité une valeur entière à un pointeur entier dans Go ?

Barbara Streisand
Libérer: 2024-12-01 07:57:11
original
948 Les gens l'ont consulté

How to Safely Assign an Integer Value to an Integer Pointer in Go?

Définition d'un pointeur Int sur une valeur Int dans Go

Lorsque vous essayez d'attribuer une valeur à une variable de pointeur, il est crucial de s'assurer que le pointeur n’est pas nul. Tenter de déréférencer un pointeur nul peut conduire à une panique d'exécution, comme vous l'avez constaté.

Solution :

Pour définir la valeur pointée, le pointeur doit pointer vers quelque chose de valide . Vous pouvez obtenir un pointeur vers un int de valeur zéro en utilisant la fonction new() :

guess := new(int)
*guess = 12345
Copier après la connexion
Copier après la connexion

Cela alloue de la mémoire pour la variable int et définit le pointeur pour qu'il pointe vers cette mémoire. Vous pouvez maintenant modifier la valeur pointée via le pointeur.

Déclaration simplifiée :

Vous pouvez simplifier la déclaration et l'initialisation à l'aide d'une courte déclaration de variable :

guess := new(int)
*guess = 12345
Copier après la connexion
Copier après la connexion

Approche alternative :

Vous pouvez également attribuer l'adresse d'une variable existante au pointeur :

value := 12345
guess := &value
Copier après la connexion

Cela modifie la valeur du pointeur, pas la valeur pointée. Cependant, dans cet exemple simple, l'effet est similaire.

Modification de la valeur pointée :

Changer la valeur pointée via le pointeur modifiera également la valeur de la variable cela indique. À l'inverse, modifier la valeur de la variable affectera la valeur pointée :

var value int
guess := &value
value = 12345
fmt.Println(*guess)
// Prints: 12345
Copier après la connexion

L'utilisation d'un pointeur offre un moyen pratique de modifier indirectement la valeur d'une variable. Cependant, il est important d'initialiser correctement le pointeur pour éviter les erreurs de pointeur nulles et garantir l'intégrité des données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal