Avatar ·

Cómo ejecutar un proyecto Go con múltiples archivos en un mismo package main

¡Hola! Acabo de empezar a aprender Go y me encontré con un problema. Tengo un pequeño proyecto que consta de varios archivos, todos ubicados en la carpeta `cmd` y declarados como `package main`. Esta es la estructura: ``` myproject/ cmd/ main.go helpers.go config.go ``` En `main.go` llamo a funciones de `helpers.go`, por ejemplo: ```go // main.go package main func main() { msg := getMessage() fmt.Println(msg) } ``` ```go // helpers.go package main func getMessage() string { return "Hello from helpers!" } ``` Cuando intento ejecutar el proyecto con el comando `go run cmd/main.go`, obtengo el error: ``` # command-line-arguments ./main.go:6:14: undefined: getMessage ``` Entiendo que Go solo ve un archivo. ¿Cómo ejecutar correctamente el proyecto para que todos los archivos en el package main se compilen juntos? ¿Necesito usar `go build` o hay otra forma? También me interesa saber, si hay muchos archivos, ¿es una práctica normal en Go?