Golang io.LimitReader() function example

package io

Golang io.LimitReader() function usage example

 package main

 import (
 "bytes"
 "fmt"
 "io"
 "io/ioutil"
 )

 func main() {

 reader := bytes.NewReader([]byte("abcdefghijklmnopqrstuvwxyz"))

 data, err := ioutil.ReadAll(io.LimitReader(reader, 10)) // read 10 characters

 if err != nil {
 fmt.Println(err)
 }

 fmt.Println(string(data))

 data2, err := ioutil.ReadAll(io.LimitReader(reader, 20)) // read next 20 characters

 if err != nil {
 fmt.Println(err)
 }

 fmt.Println(string(data2))

 data3, err := ioutil.ReadAll(io.LimitReader(reader, 30)) // read next 30 characters

 if err != nil {
 fmt.Println(err)
 }

 fmt.Println(string(data3)) // this will empty.
 }

Output :

abcdefghij

klmnopqrstuvwxyz

References :

http://golang.org/pkg/io/#LimitReader

https://www.socketloop.com/references/golang-bytes-reader-len-function-example

  See also : Golang bytes.Reader.Len() function example

Advertisement