ในโครงการของฉันฉันมี byte slice จากคำตอบของคำขอ
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
}
วิธีนี้ใช้ได้ผล แต่ถ้าฉันต้องการได้ร่างกายของการตอบสนองio.Reader
ฉันจะแปลงได้อย่างไร ฉันลองผู้อ่าน / ผู้เขียนใหม่ แต่ไม่ประสบความสำเร็จ
—
ANisus
@Arjan yap ~ เนื้อหา ... ฉันต้องการได้รับการตอบสนองเป็น io.reader .but ในคลาสฐานเมื่อฉันเสร็จสิ้นการร้องขอการตอบสนองถูกฆ่า .. เพียงบันทึกร่างกายการตอบสนองเป็น [] byte ใน struct
—
Chan Willson
@ANisus ฉันจะลอง .... ขอบคุณเพื่อน ... โดยวิธี ... มันดูเหมือนเป็นประเภทที่แตกต่างกัน ..
—
Chan Willson
@ChanWillson: ความต้องการนั้นสมเหตุสมผลมากขึ้นร่างกายไม่สามารถอ่านได้หลังจากปิดมันแล้ว ตามที่แนะนำให้ใช้
—
Arjan
*bytes.Reader
ซึ่งดำเนินการกับio.Reader
ส่วนต่อประสาน
io.Reader
อย่างไร ในกรณีนั้นการตอบสนองร่างกายมีประเภทนั้นอยู่แล้ว