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".
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