Wie man den HTTP-Response-Body als String in Go erhält?
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem bei der Arbeit mit HTTP-Requests gestoßen. Ich muss einen GET-Request an eine externe API senden und die Antwort als einfachen String erhalten, um sie dann zu verarbeiten – zum Beispiel JSON zu parsen oder einfach ins Log auszugeben.
Ich habe diesen Code geschrieben:
```go
resp, err := http.Get("https://api.example.com/data")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
fmt.Println(resp) // gibt so etwas wie &{200 OK 200 ...} aus
```
Das Problem ist, dass `resp` eine Struktur `*http.Response` ist, kein String. Ich habe versucht, auf `resp.Body` zuzugreifen, aber das ist ein `io.ReadCloser`, und ich weiß nicht, wie ich daraus den Text bekomme. In anderen Sprachen (Python, JavaScript) bin ich es gewohnt, einfach `response.text` oder `response.body` zu lesen, aber hier ist es komplizierter.
Ich habe die Dokumentation gelesen, aber dort geht es viel um Interfaces wie `io.Reader` und Buffer. Könnt ihr mir einen einfachen und korrekten Weg zeigen, die gesamte Antwort als String zu lesen? Am besten mit einem Codebeispiel, das ich direkt kopieren kann.