Maison >développement back-end >Golang >Pourquoi mon code Go renvoie-t-il une « Erreur : 'pas de nouvelles variables sur le côté gauche de :=' » ?

Pourquoi mon code Go renvoie-t-il une « Erreur : 'pas de nouvelles variables sur le côté gauche de :=' » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 17:14:02964parcourir

Why is my Go code throwing an

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!

Déclaration:
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