Go语言指南练习:Reader
题目:
实现一个Reader
类型,它产生一个 ASCII 字符'A'
的无限流。
package main
import "golang.org/x/tour/reader"
type MyReader struct{}
// TODO: 给 MyReader 添加一个 Read([]byte) (int, error) 方法
func (a MyReader) Read(b []byte) (int, error) {
b[0] = 'A'
return 1, nil
}
func main() {
reader.Validate(MyReader{})
}
胡言乱语:
Go指南上一页说过:
Read
用数据填充给定的字节切片并返回填充的字节数和错误值。在遇到数据流的结尾时,它会返回一个io.EOF
错误。
那我们填充了一个就返回1
,无限流转换一下就是不返回io.EOF
,我们返回一个nil
就行了!……
总之这么写输出结果是OK
纯小白理解,希望有好人指正