Avatar ·

Función declarada en otro archivo no es visible — error "undefined" en Go

¡Hola a todos! Acabo de empezar a estudiar Go y me encontré con un problema muy extraño. Tengo dos archivos en la misma carpeta `main`: **main.go:** ```go package main func main() { hello() } ``` **helper.go:** ```go package main func hello() { println("Hello from helper!") } ``` Ejecuto el programa con el comando `go run main.go` y obtengo el error: ``` # command-line-arguments ./main.go:4:2: undefined: hello ``` ¿Por qué sucede esto? Ambas funciones están en el mismo package `main`, y en otros lenguajes (como Python o Java) los archivos en una misma carpeta suelen "verse" automáticamente. Intenté renombrar los archivos, verificar la sintaxis — todo sin resultado. Por favor, indíquenme qué estoy haciendo mal. ¿Cómo organizar correctamente el código en Go para que las funciones de diferentes archivos sean accesibles? <<>>

Por qué ocurre el error "undefined"

El problema es que el comando go run main.go ejecuta solo un archivo — ma