"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que estou recebendo "Erro de sintaxe: ponto e vírgula inesperado antes de mais" no Go?

Por que estou recebendo "Erro de sintaxe: ponto e vírgula inesperado antes de mais" no Go?

Publicado em 2024-11-07
Navegar:317

Why Am I Getting \

Ponto e vírgula inesperado antes de mais no Go: uma explicação detalhada

Seu código Go encontra um erro incomum na linha 21: "erro de sintaxe: inesperado ponto e vírgula ou nova linha antes de mais." Apesar de sua afirmação, um exame mais detalhado revela que há de fato um ponto e vírgula (;) antes da instrução "else" nesta linha.

O problema central aqui decorre da regra de inserção automática de ponto e vírgula do Go. Normalmente, ponto e vírgula são opcionais em Go; entretanto, o compilador irá inseri-los automaticamente no final de certas linhas para manter a integridade sintática. Um desses casos é quando uma linha termina com uma chave de fechamento '}', como aquela que fecha a instrução "if" na linha 21.

Esse comportamento representa um obstáculo para a instrução "else" subsequente. Em Go, o bloco “else” deve ser escrito na mesma linha que a chave de fechamento da instrução “if”. Portanto, o compilador não pode adicionar um ponto e vírgula no final da linha 21 porque isso criaria duas instruções separadas, o que é uma sintaxe incorreta.

Para resolver esse problema, coloque a palavra-chave "else" diretamente após a chave de fechamento em linha 21:

if subject == current_mid {
    current_topic[predicate] = append(current_topic[predicate], object)
} else {
    processTopic(current_mid, current_topic, xmlFile)
    current_topic = make(map[string][]string)
}

Essa modificação garante que as instruções "if" e "else" formem uma única instrução composta, conforme exigido pela sintaxe do Go.

Em relação aos erros nas linhas 28 e 32, eles se referem a declarações fora do escopo da função "principal". Em Go, as instruções devem ser colocadas dentro do corpo da função à qual pertencem. Para corrigir esses erros, inclua as instruções entre chaves '}' no corpo da função "principal".

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3