2016-07-14 10 views
-3

컴파일러는 정의 된 모든 변수가 5 줄 후에 다시 정의되고 오류가 발생했다는 것을 말합니다. 5 줄 후에 모든 변수를 재정의했습니다. 어떻게이 버그를 막을 수 있습니까? 이golang 컴파일러는 프로그램이 redfeind가 아닌 변수를 다시 정의한다고 가정합니다.

type Holder struct { 
    Name string 
    Holders_need int 
    Avail int 
} 

구조체 후 라인 인 (32)과 같은 존재에 redifend 것을 주장하는 구조체 중 하나의 예를 내가 본

+0

이전에 선언 했으므로 컴파일러가 이러한 오류를 만들어 당신을 재미있게 만듭니다. 코드를 더 게시하고 [MCVE]를 목표로 삼으십시오 (http://stackoverflow.com/help/mcve). – icza

답변

0

나는 다른 사람이 당신의 컴파일러는 컴파일러을 시도하고있는 것은 아닌지이 문제의 확인이있는 경우 내 질문에 대한 답변이 도움이하려고하는 사람들에게 감사 발견 같은 프로그램이 두 번 있습니다. 여기서 일어난 일입니다!

0

당신이해야에 대한 답을 발견 종료 몇 가지 코드를 추가하고 정확히 무엇을하고 있는지 알려주십시오.

변수를 초기화 한 후 = 대신 아마 :=을 사용하고 있습니다. 예 :

자세한 내용은
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 

, 참조는 here

+0

defs가 문제가 없다는 주장 빈 라인에 deferince 있습니다 –