예상치 못한 구문 오류: Go에서 "Else" 앞에 예기치 않은 세미콜론 또는 줄 바꿈이 있습니다
Go 컴파일러가 수수께끼 같은 오류 메시지를 보고합니다: "구문 오류 : else 앞에 예기치 않은 세미콜론이나 개행 문자가 있습니다." 21행을 철저히 검사했음에도 불구하고 코드에는 문제가 되는 세미콜론이나 개행 문자가 없는 것으로 보입니다.
더 깊이 살펴보면 28행과 32행에서 "함수 본문 외부의 비선언문"이라는 두 가지 수수께끼 같은 오류가 추가로 발견되었습니다. 이러한 문은 main() 함수 내에 있으며 함수를 종료하는 닫는 중괄호의 영향을 받지 않아야 합니다.
앞서 언급한 오류는 21행의 근본적인 문제에서 비롯된 것으로 나타났습니다. Go 언어에는 몇 가지 고유한 세미콜론이 도입되었습니다. 처리 동작:
이 문제를 해결하려면 else 절을 if 블록의 닫는 중괄호와 같은 줄에 배치해야 합니다. 예를 들면 다음과 같습니다.
if len(current_mid) > 0 { processTopic(current_mid, current_topic, xmlFile) } else { current_topic = make(map[string][]string) }
"함수 본문 외부의 비선언문"과 관련된 컴파일러 오류는 함수 본문 외부의 명령문이 선언이어야 한다는 Go의 엄격한 요구 사항에서 발생합니다. 28행과 32행의 경우 표현식은 선언도 아니고 함수 본문의 일부도 아니므로 오류 메시지가 나타납니다.
위 내용은 Go 코드에서 \"구문 오류: else 앞에 예상치 못한 세미콜론 또는 개행\"이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!