Io Read()函数

Io Read()函数,io,go,Io,Go,Read()函数是在os包中定义的吗? 我试图理解这段代码,但找不到Read()函数的定义位置。。。如果这是os包中的一个,它将为记录变量返回整数。但是它为什么能够打印出文本文件中的文本呢?Reader是包装基本Read方法的界面 type Reader interface { Read(p []byte) (n int, err error) } Read方法将字节片作为参数,并返回(读取的字节数,错误) 输出: This is my r eade r string(arr[:

Read()函数是在os包中定义的吗?
我试图理解这段代码,但找不到Read()函数的定义位置。。。如果这是os包中的一个,它将为记录变量返回整数。但是它为什么能够打印出文本文件中的文本呢?

Reader
是包装基本
Read
方法的界面

type Reader interface {
    Read(p []byte) (n int, err error)
}
Read
方法将字节片作为参数,并返回
(读取的字节数,错误)

输出:

This
 is 
my r
eade
r
string(arr[:n])
将片
arr
的内容转换为字符串

要阅读有关
read
io.Reader
的更多信息,请参阅

myReader := strings.NewReader("This is my reader")
arr := make([]byte, 4)
for {
// n is number of bytes read
    n, err := myReader.Read(arr)
    if err == io.EOF {
        break
    }
    fmt.Println(string(arr[:n]))
}
This
 is 
my r
eade
r