Avatar ·

Como criar e usar seus próprios pacotes em Go?

Olá a todos! Acabei de começar a aprender Go, antes escrevia em Python. Lá eu podia simplesmente criar um arquivo e importá-lo via `import my_file`. Em Go, estou completamente confuso com pacotes. Tenho um projeto com a seguinte estrutura: ``` myproject/ ├── main.go └── math/ └── helpers.go ``` Em `helpers.go`, quero escrever uma função simples de soma: ```go package math func Add(a int, b int) int { return a + b } ``` E em `main.go`, tento usá-la: ```go package main import "myproject/math" func main() { sum := math.Add(2, 3) fmt.Println(sum) } ``` Mas o compilador dá erro: `could not import "myproject/math"`. Tentei diferentes caminhos no import, executei `go mod init`, mas ainda não funciona. O que estou fazendo de errado? Como organizar o código em Go corretamente para usar meus próprios pacotes? Explique, por favor, para iniciantes, com exemplos.