Golang io.SectionReader.Size function example

package io

Golang io.SectionReader.Size function usage example

 package main

 import (
 "bytes"
 "fmt"
 "io"
 )

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

 // read from position 2 to 8
 // remember...counting starts from zero

 sectionReader := io.NewSectionReader(reader, 0, 8)

 fmt.Printf("Read up to %d characters(bytes)\n", sectionReader.Size())

 buff := make([]byte, 7)

 // read section into buff
 n, err := sectionReader.Read(buff)

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

 fmt.Printf("Read %d characters(bytes) of %s \n", n, string(buff[:]))

 }

Output :

Read up to 8 characters(bytes)

Read 7 characters(bytes) of abcdefg

Reference :

http://golang.org/pkg/io/#SectionReader.Size

Advertisement