hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 文章 - 后端开发 - 正文 看Cosplay古风插画小姐姐,合集图集打包下载:炫龙网 · 炫龙图库

golang read会壅塞么_后端开发

2019-12-18后端开发ki4网16°c
A+ A-

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缓存中抵达更多的数据

当Read操纵在胜利读取到n字节数据后碰到一个毛病或许文件的末端,它将会返回读取的n字节数据,然后err的返回大概有两种操纵:

在本次Read操纵的时刻返回n(>0)和err(非nil)

或许本次Read操纵返回n(>0)和nil,下一次挪用的时刻再返回0和err(非nil)

这两种操纵都是大概的,所以挪用者永久应当起首根据n>0来剖断是不是有数据返回,而不是先剖断err是不是为nil

举个例子申明,当某次挪用抵达文件末端而且还读取到了n字节数据的时刻,Reader的完成大概有两种体式格局:

当前挪用返回n和EOF error

当前挪用返回n和nil,下次挪用返回0和EOF

Read的完成不应当返回0和nil,也就是当返回0的时刻就应当返回一个非nil的error,除非缓冲空间的大小为0,然后挪用者应当疏忽挪用0和nil这类返回值组合,看成什么都没发作,特别强调一下,这个返回并不示意EOF了

以上就是golang read会壅塞么的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
golang read会壅塞么_后端开发

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>