해결되지 않은 구문 오류: "예기치 않은 세미콜론" 및 "비선언문" 문제 조사
제공된 코드에서 여러 가지 문제가 발생합니다. 각 오류와 해결 방법을 자세히 살펴보겠습니다.
21행 오류: "else" 앞의 예기치 않은 세미콜론 또는 줄바꿈
이 오류는 Go에서 해당 "if" 또는 "else if" 문의 닫는 중괄호와 같은 줄에 키워드 "else"를 배치해야 하기 때문에 발생합니다. 코드에서 "if" 블록은 줄바꿈 문자를 자동으로 삽입하는 세미콜론으로 20행에서 끝납니다. 결과적으로 21행의 "else" 문은 별도의 문이 되어 구문 오류가 발생합니다.
해결책:
"else" 키워드를 아래와 같이 "if" 블록의 닫는 중괄호:
... } else if len(current_mid) > 0 { processTopic(current_mid, current_topic, xmlFile) current_topic = make(map[string][]string) } ...
28행과 32행의 오류: 함수 본문 외부의 비선언문
이러한 오류 main() 함수 본문 외부에 명령문(processTopic 호출)이 있음을 나타냅니다. Go에서는 비선언문이 함수 본문 내에 나타나야 합니다.
해결책:
아래 설명과 같이 processTopic 호출을 다시 main() 함수 본문으로 이동합니다.
... } else if len(current_mid) > 0 { processTopic(current_mid, current_topic, xmlFile) current_topic = make(map[string][]string) } processTopic(current_mid, current_topic, xmlFile) // Moved inside function body ...
이러한 오류를 해결하면 이제 코드가 성공적으로 컴파일됩니다. 향후 유사한 문제를 방지하려면 다음 규칙을 기억하세요.
위 내용은 함수 외부의 세미콜론과 명령문이 내 Go 코드에서 오류를 일으키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!