> 백엔드 개발 > Golang > Go 코드에서 \'예기치 않은 세미콜론 또는 else 앞에 줄바꿈\' 오류가 발생하는 이유는 무엇입니까?

Go 코드에서 \'예기치 않은 세미콜론 또는 else 앞에 줄바꿈\' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-02 19:17:02
원래의
979명이 탐색했습니다.

Why am I getting the

else 앞에 예기치 않은 세미콜론 또는 줄 바꿈

if에서 else 키워드 앞에 세미콜론이나 줄 바꿈 문자가 있는 경우 "예기치 않은 세미콜론 또는 else 앞에 줄 바꿈" 오류가 발생합니다. -else 문. 제공된 코드에서 오류는 21행에 있습니다.

for err == nil{
    subject, predicate, object := parseTriple(line)
    if subject == current_mid{
        current_topic[predicate] = append(current_topic[predicate], object)
    }
    else if len(current_mid) > 0{
        processTopic(current_mid, current_topic, xmlFile)
        current_topic = make(map[string][]string)
    }
    current_mid = subject
    line, err = r.ReadString('\n')
}
로그인 후 복사

이 경우 if 블록의 닫는 중괄호 뒤에 개행 문자가 있어 오류가 발생합니다. 오류를 수정하려면 else if 문을 닫는 중괄호와 같은 줄에 배치해야 합니다.

for err == nil{
    subject, predicate, object := parseTriple(line)
    if subject == current_mid{
        current_topic[predicate] = append(current_topic[predicate], object)
    } else if len(current_mid) > 0{
        processTopic(current_mid, current_topic, xmlFile)
        current_topic = make(map[string][]string)
    }
    current_mid = subject
    line, err = r.ReadString('\n')
}
로그인 후 복사

설명:

Go에서는 세미콜론을 사용하여 문을 종료합니다. 그러나 Go는 닫는 중괄호 }로 끝나는 줄을 포함하여 특정 줄의 끝에 세미콜론도 자동으로 삽입합니다. 즉, 여러 줄에 걸쳐 있는 if 블록이 있는 경우 else 문을 닫는 중괄호와 같은 줄에 배치해야 합니다. 그렇지 않으면 Go에서 닫는 중괄호 뒤에 세미콜론을 삽입하여 구문 오류가 발생합니다.

28행과 32행의 오류 메시지("함수 본문 외부의 비선언문")도 21행의 오류로 인해 발생합니다. 21행의 닫는 중괄호가 제대로 종료되지 않았으므로 Go에서는 그 뒤의 행을 처리합니다. 마치 주 기능 외부에 있는 것처럼 말이죠. 이러한 오류를 수정하려면 먼저 21행의 오류를 수정해야 합니다.

위 내용은 Go 코드에서 \'예기치 않은 세미콜론 또는 else 앞에 줄바꿈\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿