Le langage Go a des pointeurs ; l'utilisation de pointeurs dans le langage Go peut simplement effectuer certaines tâches. La syntaxe de déclaration du format du pointeur est "var var_name *var-type", où le paramètre "var-type" est un pointeur. Tapez, "var_name" est le nom de la variable pointeur et le signe * est utilisé pour spécifier que la variable est utilisée comme pointeur.
L'environnement de démonstration de cet article : système Windows 7, Go version 1.11.2, ordinateur Dell G3.
Le langage Go a des pointeurs.
L'utilisation de pointeurs dans le langage Go peut faciliter l'exécution de certaines tâches.
Nous savons tous qu'une variable est un espace réservé pratique pour référencer une adresse mémoire d'ordinateur.
Le caractère d'adresse en langage Go est &. Lorsqu'il est utilisé devant une variable, l'adresse mémoire de la variable correspondante sera renvoyée.
L'exemple suivant montre l'adresse de la variable en mémoire :
Exemple
package main import "fmt" func main() { var a int = 10 fmt.Printf("变量的地址: %x\n", &a ) }
Le résultat de l'exécution du code ci-dessus est :
变量的地址: 20818a220
Maintenant ce que nous avons appris, c'est l'adresse mémoire et comment y accéder. Nous présenterons ensuite les pointeurs en détail.
Qu'est-ce qu'un pointeur
Une variable pointeur pointe vers l'adresse mémoire d'une valeur.
Semblable aux variables et constantes, vous devez déclarer un pointeur avant de l'utiliser. Le format de déclaration du pointeur est le suivant :
var var_name *var-type
var-type est le type du pointeur, var_name est le nom de la variable du pointeur et le signe * est utilisé pour spécifier que la variable est utilisée comme pointeur. Les déclarations de pointeur suivantes sont valides :
var ip *int /* 指向整型*/ var fp *float32 /* 指向浮点型 */
Dans ce cas, il s'agit d'un pointeur vers int et float32.
Comment utiliser les pointeurs
Processus d'utilisation du pointeur :
Définir les variables du pointeur.
Attribuez une valeur à une variable de pointeur.
Accédez à la valeur pointant vers l'adresse dans la variable pointeur.
Ajoutez * (préfixe) devant le type de pointeur pour que le contenu pointe par le pointeur.
Instance
package main import "fmt" func main() { var a int= 20 /* 声明实际变量 */ var ip *int /* 声明指针变量 */ ip = &a /* 指针变量的存储地址 */ fmt.Printf("a 变量的地址是: %x\n", &a ) /* 指针变量的存储地址 */ fmt.Printf("ip 变量储存的指针地址: %x\n", ip ) /* 使用指针访问值 */ fmt.Printf("*ip 变量的值: %d\n", *ip ) }
Le résultat d'exécution de l'exemple ci-dessus est :
a 变量的地址是: 20818a220 ip 变量储存的指针地址: 20818a220 *ip 变量的值: 20
Go pointeur nul
Lorsqu'un pointeur est défini , il n'y a pas de valeur. Lorsqu'elle est affectée à une variable, sa valeur est nulle.
Le pointeur nul est également appelé pointeur nul.
nil est conceptuellement identique à null, None, nil et NULL dans d'autres langages, et ils font tous référence à des valeurs nulles ou vides.
Une variable pointeur est généralement abrégée ptr.
Voir l'exemple suivant :
Instance
package main import "fmt" func main() { var ptr *int fmt.Printf("ptr 的值为 : %x\n", ptr ) }
Le résultat de sortie de l'exemple ci-dessus est :
ptr 的值为 : 0
Jugement de pointeur nul :
if(ptr != nil) /* ptr 不是空指针 */ if(ptr == nil) /* ptr 是空指针 */
Plus Pour les articles techniques sur le langage go, veuillez visiter la colonne du didacticiel go langage !
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!