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 중국어 웹사이트의 기타 관련 기사를 참조하세요!