Avatar ·

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.