Função declarada em outro arquivo não é visível — erro "undefined" em Go
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema muito estranho. Tenho dois arquivos na mesma pasta `main`:
**main.go:**
```go
package main
func main() {
hello()
}
```
**helper.go:**
```go
package main
func hello() {
println("Hello from helper!")
}
```
Executo o programa com o comando `go run main.go` e recebo o erro:
```
# command-line-arguments
./main.go:4:2: undefined: hello
```
Por que isso acontece? Afinal, ambas as funções estão no mesmo pacote `main`, e em outras linguagens (como Python ou Java) arquivos na mesma pasta geralmente "se enxergam" automaticamente. Tentei renomear os arquivos, verificar a sintaxe — tudo sem resultado. Por favor, me digam o que estou fazendo de errado? Como organizar o código em Go corretamente para que funções de diferentes arquivos fiquem acessíveis?
<<>>
Por que ocorre o erro "undefined"
O problema é que o comando go run main.go executa apenas um arquivo — ma