Konvertieren von byte-slice io.Reader

In meinem Projekt habe ich ein byte-slice von einer Anfrage die Antwort.

defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
    log.Println("StatusCode为" + strconv.Itoa(resp.StatusCode))
    return
}

respByte, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Println("fail to read response data")
    return
}

Das funktioniert, aber wenn ich will, um die Reaktion des Körpers für io.Reader, wie kann ich konvertieren? Ich habe versucht, die newreader/Schriftsteller, aber war nicht erfolgreich.

  • Wenn ich das richtig verstehe du willst die Antwort als io.Reader? In diesem Fall resp.Körper ist bereits von diesem Typ.
  • golang.org/pkg/bytes/#NewReader wird "turn" eine []byte zu einem io.Reader (und io.ReadSeeker)
  • yap~Körper...ich will die Antwort, die wie io.reader .aber in der base-Klasse, wenn ich zum Schluss die Anfrage,die Antwort, die getötet wurden.. speichern Sie einfach eine Antwort-body als []byte struct.
  • ich werde es versuchen....thx dude..by die Art und Weise...es ist Blick ist wie der andere Typ..
  • Diese Anforderung macht mehr Sinn, der Körper kann nicht gelesen werden nach dem schließen. Wie vorgeschlagen, verwenden *bytes.Reader die Implementierung des io.Reader - Schnittstelle.
  • thank u @Arjan, ich werde es versuchen....
  • Es ist eine andere Art. Die eine ist eine Schnittstelle, die anderen einen Wert, die diese Schnittstelle implementiert. Ich habe eine Antwort von meinem Kommentar versucht zu erklären, es ein bisschen.

InformationsquelleAutor Chan Willson | 2015-04-20
Schreibe einen Kommentar