Avatar ·

Como fazer uma requisição HTTP em Go?

Olá a todos! Por favor, me digam como executar corretamente uma requisição HTTP GET em Go e obter a resposta do servidor. Sou novo na linguagem e encontrei um problema ao tentar obter dados de uma API externa.

Atualmente estou usando a biblioteca padrão net/http, mas meu código parece travar e não retorna resultado. Aqui está o que tentei:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    resp, err := http.Get("https://api.example.com/data")
    if err != nil {
        fmt.Println("Erro:", err)
        return
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("Erro de leitura:", err)
        return
    }

    fmt.Println(string(body))
}

O problema é que o programa simplesmente trava sem saída, e não vejo nem erros nem dados. Já verifiquei que a URL está funcionando (via curl está tudo bem). Suspeito que o problema pode ser a falta de time