package mainimport ("fmt""io""strings")func main() {r := strings.NewReader("hello,reader!")b := make([]byte, 13)for {//io.Reader接口中的Reader方法// 用数据填充给定的字节切片并返回填充的字节数和错误值// 在遇到数据流的结尾时,它会返回一个io.EOF错误// 这里是把r读取到b中吗// 前面的n表示填充的字节数,后面的err表示错误值//在遇到数据流的结尾时err就等于EOF,否则等于niln, err := r.Read(b)//这里n应该表示这次读取到的字节数//第一次读取了8个字节,这次读取了剩余的5个字节,err仍为EOFfmt.Printf("n= %v err = %v b=%c \n", n, err, b)// 切片输出读取位置到剩余位置的值fmt.Printf("b[:n] = %q\n", b[:n])if err == io.EOF {break}}}
