站长资讯网
最全最丰富的资讯网站

golang read会阻塞么

golang read会阻塞么

Go语言中Reader接口定义了一个Read操作,实现了Reader接口的都有Read这个函数。 (推荐学习:go)

接口的定义如下:

type Reader interface {         Read(p []byte) (n int, err error) }

一次Read调用最多读取len(p)字节的数据到缓冲区p中

n表示这一次实际读取到字节数,(0 <= n <= len(p))

err 表示这次读取操作的报错(如果有的话,没有则是nil)

即使读取到的字节数n小于len(p),在函数调用过程中调用主体也可能使用全部的p的空间(不知道这个说明是想表达什么)

当read到数据的时候,即使不够len(p)(此时IO缓存中没有数据了),Read操作通常会直接返回获取到的数据而不是继续等待IO缓存中到达

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号