Maison > Article > développement back-end > Pourquoi mon code Go renvoie-t-il une « Erreur : 'pas de nouvelles variables sur le côté gauche de :=' » ?
Dans le code Go fourni :
package main import "fmt" func main() { myArray :=[...]int{12,14,26} ; fmt.Println(myArray) myArray :=[...]int{11,12,14} //error on this line fmt.Println(myArray) ; }
La première instruction déclare et initialise correctement la variable myArray en utilisant la notation ":=". Cependant, dans la deuxième instruction, tente de réaffecter des valeurs à la variable myArray existante en utilisant à nouveau ":=".
Dans Go, ":=" est un raccourci pour déclarer et initialiser une nouvelle variable. Il attribue la valeur du côté droit à l’identifiant du côté gauche. En d'autres termes, dans la première instruction, ":=" est valide car il introduit une nouvelle variable myArray et lui attribue la liste des entiers.
Cependant, lors de la réaffectation de valeurs à une variable existante, " : =" ne peut pas être utilisé. Au lieu de cela, l'opérateur d'affectation régulier "=" doit être utilisé comme indiqué ci-dessous :
myArray = [...]int{11,12,14}
En supprimant les deux points (":") de la deuxième instruction, le code attribue correctement de nouvelles valeurs à la variable myArray en utilisant l'opérateur "=". Le code corrigé est :
package main import "fmt" func main() { myArray :=[...]int{12,14,26} ; fmt.Println(myArray) myArray = [...]int{11,12,14} //correct assignment fmt.Println(myArray) ; }
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!