반응형
바이트 슬라이스를 io.Reader로 변환
내 프로젝트에는 요청 응답의 바이트 슬라이스가 있습니다.
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
어떻게 변환합니까? 나는 새로운 리더 / 작가를 시도했지만 성공하지 못했습니다.
슬라이스 io.Reader
에서 구현되는 유형을 얻으려면 패키지 에서 []byte
사용할 수 있습니다 .bytes.NewReader
bytes
r := bytes.NewReader(byteData)
이것은 (and ) 인터페이스 bytes.Reader
를 구현하는 type 값을 반환합니다 .io.Reader
io.ReadSeeker
그들이 같은 "유형"이 아닌 것에 대해 걱정하지 마십시오. io.Reader
인터페이스이며 다양한 유형으로 구현할 수 있습니다. Go의 인터페이스에 대해 조금 더 배우려면 Effective Go : Interfaces and Types를 읽으십시오 .
r := strings(byteData)
이것은 또한 차례에 작동 []byte
에io.Reader
참고 URL : https://stackoverflow.com/questions/29746123/convert-byte-slice-to-io-reader
반응형
'IT' 카테고리의 다른 글
객체 지향 분석 및 설계를 사용하여 엘리베이터 모델링 (0) | 2020.06.28 |
---|---|
업로드 된 이미지, SQL 데이터베이스 또는 디스크 파일 시스템을 저장하기에 가장 좋은 장소는 무엇입니까? (0) | 2020.06.28 |
MATLAB OOP가 느리거나 잘못하고 있습니까? (0) | 2020.06.28 |
Google 순간 검색은 어떻게 작동하나요? (0) | 2020.06.28 |
루아에는 왜“계속”진술이 없습니까? (0) | 2020.06.28 |