Como realizar a cross-compilation de um programa Go no macOS?
Olá a todos! Estou escrevendo em Go no macOS e quero compilar um binário para Linux e Windows, para executar no servidor e distribuir para colegas. Tentei simplesmente executar `go build`, mas ele cria um executável apenas para macOS. Li que o Go tem suporte embutido para cross-compilation, mas não consigo entender como fazer corretamente.
Aqui está meu código simples (arquivo main.go):
```go
package main
import "fmt"
func main() {
fmt.Println("Hello, cross-compilation!")
}
```
Tentei:
```bash
GOOS=linux GOARCH=amd64 go build main.go
```
Mas recebi o erro: `cannot find package "main" in any of: ...` ou um binário que não executa no Linux. O que estou fazendo de errado? Preciso instalar ferramentas adicionais, como para CGo? Estou no macOS Big Sur, Go versão 1.21. Agradeço por uma explicação passo a passo para iniciantes.