Maison >développement back-end >Golang >Pourquoi ne puis-je pas déclarer une variable typée dans l'instruction d'initialisation d'une boucle Go For ?
Déclaration de variable dans l'instruction d'initialisation d'une boucle For
En Go, la syntaxe d'une boucle for permet de déclarer une variable lors de l'initialisation déclaration. Cependant, cette déclaration doit suivre un format spécifique.
La question se pose de savoir pourquoi une variable ne peut pas être déclarée avec un type spécifique dans l'instruction d'initialisation, comme pour var i int64 = 0; je &Lt ; 10 ; je {}. Au lieu de cela, le code nécessite une déclaration de variable distincte (var i int64) suivie d'une instruction d'affectation (i = 0).
La spécification du langage pour la boucle for explique que l'instruction init ne peut être qu'une courte déclaration de variable , qui est une affectation de la forme i := 0. Il ne peut pas s'agir d'une déclaration de variable complète utilisant var.
Cette restriction découle probablement du désir de simplicité du langage. En limitant l'instruction d'initialisation à une courte déclaration de variable, la syntaxe devient plus concise et moins déroutante.
Cependant, il convient de noter qu'il existe une solution de contournement pour déclarer une variable avec un type spécifique dans l'instruction d'initialisation. Cela peut être fait en utilisant une conversion de type explicite :
for i := int64(0); i < 10; i++ { // i here is of type int64 }
Dans cet exemple, la variable i est explicitement convertie en type int64 dans l'instruction d'initialisation.
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!