Example: How to use TeeReader from IO Package in Golang?


TeeReader returns a Reader that writes to w what it reads from r. All reads from r performed through it are matched with corresponding writes to w.

Example

package main

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

func main() {
	testString := strings.NewReader("Jobs, Code, Videos and News for Go hackers.")
	var bufferRead bytes.Buffer
	example := io.TeeReader(testString, &bufferRead)
	readerMap := make([]byte, testString.Len())
	length, err := example.Read(readerMap)
	fmt.Printf("\nBufferRead: %s", &bufferRead)
	fmt.Printf("\nRead: %s", readerMap)
	fmt.Printf("\nLength: %d, Error:%v", length, err)
}

Output

BufferRead: Jobs, Code, Videos and News for Go hackers.
Read: Jobs, Code, Videos and News for Go hackers.
Length: 43, Error:
Most Helpful This Week