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?