Golang bytes.Reader.UnreadRune() function example

package bytes

Unread 1 rune from the reader current position.

Golang bytes.Reader.UnreadRune() function usage example

 package main

 import (
 "bytes"
 "fmt"
 )

 func main() {

 reader := bytes.NewReader([]byte("我爱你"))

 var r1,r2,r3 rune

 r1,_, err := reader.ReadRune() // read 1 rune

 fmt.Printf("%v %s \n", err, string(r1))

 r2,_, err2 := reader.ReadRune() // read 1 rune
 fmt.Printf("%v %s \n", err2, string(r2))

 //unread 1 rune
 reader.UnreadRune()

 r3,_, err3 := reader.ReadRune() // read 1 rune
 fmt.Printf("%v %s \n", err3, string(r3))

 }

Output :

<nil> 我

<nil> 爱

<nil> 爱

Reference :

http://golang.org/pkg/bytes/#Reader.UnreadRune

Advertisement