ExpertiDict

Go · Intermediário · Inglês · Técnico

io.Reader

/aɪ.oʊ ˈɹi.dɚ/interface

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á")) -> 4

Exemplos

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

Veja também

Todos os termos de Go