2016-07-14 4 views
-3

Le compilateur dit que chaque variable qui a été définie est définie à nouveau 5 lignes plus tard et en tirant une erreur, bien sûr je n'ai pas redéfini toutes mes variables 5 lignes plus tard, comment puis-je arrêter ce bug? ce un exemple de l'un des structLe compilateur golang est d'avis que le programme redéfinit les variables, qui n'ont pas été redéfindes

type Holder struct { 
    Name string 
    Holders_need int 
    Avail int 
} 

il déduisez qu'il est redifend sur comme 32, qui est la ligne après la struct ferme J'AI TROUVE LA REPONSE A CETTE

+0

Vous les avez déclarés précédemment, le compilateur ne fait pas de telles erreurs pour se moquer de vous. Post plus de votre code, viser un [MCVE] (http://stackoverflow.com/help/mcve). – icza

Répondre

0

J'ai trouvé la réponse à ma question merci à ceux qui ont essayé d'aider, si quelqu'un d'autre ce contrôle de problème que votre compilateur ne cherche pas à compilateur le même programme deux fois, car c'est ce qui se passait ici!

0

Vous devriez ajoutez du code et faites-nous savoir exactement ce que vous faites. Vous utilisez probablement := au lieu de = après l'initialisation d'une variable. Par exemple.

i := 1 
// use i 
i = 2 // change value of i using = since i has already been declared 
// i := 2 throws error 'no new variables on left side of :=' 
// since i was already created above 

Pour plus de détails, reportez-vous here

+0

ce n'est pas le problème de façon défensive, il prétend qu'il y a déférencer sur les lignes vides –