Avatar ·

O que o comando go install faz e como usá-lo corretamente?

Olá a todos! Estou começando a estudar Go e tentando entender as ferramentas de build. Li a documentação, mas ainda estou confuso.

Escrevi um programa simples — um servidor HTTP que está na pasta ~/projects/myapp/main.go. Quando executo go build, ele cria um binário diretamente na pasta atual. Mas ouvi dizer que existe também o comando go install. Tentei executá-lo, e ele também compilou algo, mas não encontrei o binário na pasta do projeto. Além disso, não houve erros no console. Para onde ele foi?

Aqui está meu código:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })
    http.ListenAndServe(":8080", nil)
}

Eu executo:

cd ~/projects/myapp
go install

Depois disso, na pasta myapp não aparece nenhum arquivo novo. Eu pr