readall read golang files bytes go

go - read - Convierta el segmento de bytes en io



read text files golang (2)

Para obtener un tipo que implemente io.Reader desde un segmento de []byte , puede usar golang.org/pkg/bytes/#NewReader en el paquete de bytes :

r := bytes.NewReader(byteData)

Esto devolverá un valor de tipo bytes.Reader que implementa la bytes.Reader (y io.ReadSeeker ).

No se preocupe por que no sean del mismo "tipo". io.Reader es una interfaz y se puede implementar de muchos tipos diferentes. Para aprender un poco más sobre las interfaces en Go, lea Go eficaz: interfaces y tipos .

En mi proyecto, tengo un segmento de bytes de la respuesta de una solicitud.

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 }

Esto funciona, pero si quiero obtener el cuerpo de la respuesta para io.Reader , ¿cómo puedo convertir? Probé con el lector / escritor nuevo pero no tuve éxito.


r := strings(byteData)

Esto también funciona para convertir el []byte en io.Reader