"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué aparece \"Error de sintaxis: punto y coma inesperado antes de lo demás\" en Go?

¿Por qué aparece \"Error de sintaxis: punto y coma inesperado antes de lo demás\" en Go?

Publicado el 2024-11-09
Navegar:947

Why Am I Getting \

Punto y coma inesperado antes de lo demás en Go: una explicación detallada

Su código de Go encuentra un error inusual en la línea 21: "error de sintaxis: inesperado punto y coma o nueva línea antes que otra cosa." A pesar de su afirmación, un examen más detenido revela que efectivamente hay un punto y coma (;) antes de la declaración "else" en esta línea.

El problema central aquí surge de la regla de inserción automática de punto y coma de Go. Normalmente, el punto y coma son opcionales en Go; sin embargo, el compilador los insertará automáticamente al final de ciertas líneas para mantener la integridad sintáctica. Uno de esos casos es cuando una línea concluye con una llave de cierre '}', como la que cierra la declaración "if" en la línea 21.

Este comportamiento plantea un obstáculo para la siguiente declaración "else". En Go, el bloque "else" debe escribirse en la misma línea que la llave de cierre de la declaración "if". Por lo tanto, el compilador no puede agregar un punto y coma al final de la línea 21 porque crearía dos declaraciones separadas, lo cual es una sintaxis incorrecta.

Para resolver este problema, coloque la palabra clave "else" directamente después de la llave de cierre en línea 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)
}

Esta modificación garantiza que las declaraciones "if" y "else" formen una única declaración compuesta, como lo requiere la sintaxis de Go.

Con respecto a los errores en las líneas 28 y 32, se relacionan con declaraciones fuera del alcance de la función "principal". En Go, las declaraciones deben estar encerradas dentro del cuerpo de la función a la que pertenecen. Para corregir estos errores, incluya las declaraciones entre llaves '}' dentro del cuerpo de la función "principal".

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3