Avatar ·

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