Como executar um projeto Go com vários arquivos em um único pacote main?
Olá! Comecei a estudar Go recentemente e me deparei com um problema. Tenho um pequeno projeto composto por vários arquivos, todos na pasta `cmd` e declarados como `package main`. Aqui está a estrutura:
```
myproject/
cmd/
main.go
helpers.go
config.go
```
No `main.go`, chamo funções de `helpers.go`, por exemplo:
```go
// main.go
package main
func main() {
msg := getMessage()
fmt.Println(msg)
}
```
```go
// helpers.go
package main
func getMessage() string {
return "Hello from helpers!"
}
```
Quando tento executar o projeto com o comando `go run cmd/main.go`, recebo o erro:
```
# command-line-arguments
./main.go:6:14: undefined: getMessage
```
Entendo que o Go vê apenas um arquivo. Como executar corretamente o projeto para que todos os arquivos no pacote main sejam compilados juntos? Preciso usar `go build` ou existe outra maneira? Também tenho curiosidade sobre como lidar quando há muitos arquivos — isso é uma prática normal em Go?