当前位置:首页 > 科技  > 软件

Golang 中的 IO 包详解:指定读写对象和偏移量接口

来源: 责编: 时间:2023-08-09 23:03:36 431观看
导读io.ReaderFromtype ReaderFrom interface { ReadFrom(r Reader) (n int64, err error)}接口中定义了一个 ReadFrom 方法,常见用法是将实现了该接口的对象(比如文件或网络连接)的数据读取到一个实现了 io.Writer 接口的对

bAR28资讯网——每日最新资讯28at.com

io.ReaderFrom

type ReaderFrom interface {	ReadFrom(r Reader) (n int64, err error)}

接口中定义了一个 ReadFrom 方法,常见用法是将实现了该接口的对象(比如文件或网络连接)的数据读取到一个实现了 io.Writer 接口的对象。bAR28资讯网——每日最新资讯28at.com

一些标准库中的文件类型,在实现了 io.ReadFrom 接口后,可以通过 io.Copy 函数方便的将数据从源文件拷贝到目的文件。bAR28资讯网——每日最新资讯28at.com

具体使用方法可参考标准库中实现该接口的类型,例如在 os.File 类型中:bAR28资讯网——每日最新资讯28at.com

func (f *File) ReadFrom(r io.Reader) (n int64, err error)

io.WriterTo

type WriterTo interface {	WriteTo(w Writer) (n int64, err error)}

接口中定义了一个 WriteTo 方法,常用于将实现了该接口的对象(比如字节数组或文件)的数据写入到一个实现了io.Reader接口的对象中。bAR28资讯网——每日最新资讯28at.com

一些标准库中的文件类型,在实现了 io.WriterTo 接口后,可以通过 io.Copy 函数方便的将数据从源文件拷贝到目的文件。bAR28资讯网——每日最新资讯28at.com

具体使用方法可参考标准库中实现该接口的类型,例如在 bytes.Buffer 类型中:bAR28资讯网——每日最新资讯28at.com

func (b *Buffer) WriteTo(w io.Writer) (n int64, err error)

io.ReaderAt

type ReaderAt interface {	ReadAt(p []byte, off int64) (n int, err error)}

接口中定义了一个 ReadAt 方法,常用于从实现了该接口的对象(比如文件或网络连接)中读取指定位置的数据。bAR28资讯网——每日最新资讯28at.com

ReadAt 方法允许从指定偏移量位置开始读取数据,并将读取的数据存入指定的缓冲区中,并返回实际读取的字节数。使用该接口可实现高效的随机读取操作。bAR28资讯网——每日最新资讯28at.com

具体使用方法可参考标准库中实现该接口的类型,例如在 os.File 类型中:bAR28资讯网——每日最新资讯28at.com

func (f *File) ReadAt(b []byte, off int64) (n int, err error)

当在 os.File 中调用 ReadAt 方法时,file 被视为一个支持随机存取的字节数组,并可以使用该方法在其中进行读取操作,其中 b 代表读取的字节数组,off 代表字节偏移量。bAR28资讯网——每日最新资讯28at.com

io.WriterAt

type WriterAt interface {	WriteAt(p []byte, off int64) (n int, err error)}

接口中定义了一个 WriteAt 方法,常用于向实现了该接口的对象(比如文件或网络连接)中指定位置写入数据。bAR28资讯网——每日最新资讯28at.com

WriteAt 方法允许向指定偏移量位置开始写入数据,这个方法可以高效地实现随机写入操作。bAR28资讯网——每日最新资讯28at.com

具体使用方法可参考标准库中实现该接口的类型,例如在 os.File 类型中:bAR28资讯网——每日最新资讯28at.com

func (f *File) WriteAt(b []byte, off int64) (n int, err error)

当在 os.File 中调用 WriteAt 方法时,file 被视为一个支持随机存取的字节数组,并可以使用该方法在其中进行写入操作,其中 b 代表要写入的字节数组,off 代表字节偏移量。bAR28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-5187-0.htmlGolang 中的 IO 包详解:指定读写对象和偏移量接口

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: GET和POST的区别—Java模拟Postman发Post请求

下一篇: 想要控制好权限,这八个注解必须知道!

标签:
  • 热门焦点
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • 东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼‍‍‍‍‍‍‍‍‍‍东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一
  • 造车两年股价跌六成,小米的估值逻辑变了吗?

    如果从小米官宣造车后的首个交易日起持有小米集团的股票,那么截至2023年上半年最后一个交易日,投资者将浮亏59.16%,同区间的恒生科技指数跌幅为52.78%
  • OPPO、vivo、小米等国内厂商Q2在印度智能手机市场份额依旧高达55%

    7月20日消息,据外媒报道,研究机构的报告显示,在全球智能手机出货量同比仍在下滑的大背景下,印度这一有潜力的市场也未能幸免,出货量同比也有下滑,多家厂
Top