Avatar ·

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?