Como importar corretamente pacotes locais em Go (Golang) — guia passo a passo
Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema que me deixou completamente confuso. Estou tentando organizar o código em vários arquivos dentro de um mesmo projeto, mas a importação de pacotes locais não funciona.
Aqui está a estrutura do meu projeto:
```
myproject/
├── main.go
└── helpers/
└── math.go
```
No arquivo `helpers/math.go`, declarei o pacote `package helpers` e a função `Add(a, b int) int`.
No `main.go`, estou tentando importar este pacote:
```go
package main
import (
"fmt"
"myproject/helpers" // tentei diferentes caminhos
)
func main() {
result := helpers.Add(2, 3)
fmt.Println(result)
}
```
Mas quando executo `go run main.go`, recebo o erro:
```
main.go:4:2: package myproject/helpers is not in GOROOT (/usr/local/go/src/myproject/helpers)
```
Tentei diferentes variações de caminho: `./helpers`, `../helpers`, `helpers` — nada funciona. Ouvi algo sobre módulos, mas não entendo como configurá-los corretamente. Alguém pode me dizer como fazer isso corretamente?