Go · Intermediário · Inglês · Técnico
io.Reader
Interface do pacote io com um único método, Read(p []byte) (n int, err error). Representa qualquer fonte de bytes: arquivo, conexão de rede, buffer ou resposta HTTP.
Onde usar
Funções que aceitam io.Reader funcionam com qualquer origem de dados e são fáceis de testar com strings.NewReader. O fim do fluxo é sinalizado pelo erro io.EOF.
Em código
func contar(r io.Reader) (int, error) {
b, err := io.ReadAll(r)
return len(b), err
}
// contar(strings.NewReader("olá")) -> 4Exemplos
Accept an io.Reader so you can pass a file or a string.
Aceite um io.Reader para poder passar um arquivo ou uma string.
An HTTP response body is just an io.Reader.
O corpo de uma resposta HTTP é apenas um io.Reader.
Cuidado
Read pode devolver menos bytes que o tamanho do buffer e, ao mesmo tempo, um erro; trate n antes de olhar o err.
Antônimos
io.Writer