GO标准库 io标准库

错误变量

基础接口

Read
在这里插入图片描述
Wirte
在这里插入图片描述
Seeker

Closer
在这里插入图片描述
Close()行为没有定义,所以可以通过指定行为实现
整个标准库都没有引用Closer只有定义

组合接口

之前的接口组合起来

指定读写器读写接口

ReaderFrom


从r中读取数据到对象的数据流中,
直到r返回EOF或错误
n为读取的字节,err为r返回的err

WriteTo


将对象的数据写入到w中
直到全部写完或返回数据为止
n为写入的字节数,err为w的err

指定偏移量接口

ReadAt

在这里插入图片描述

WriteAt

在这里插入图片描述

供外部调用的函数

Copy


示例

n,err:=io.Copy(os.Stdout, r)

CopyBuffer


示例

n,err:=io.CopyBuffer(os.Stdout, r, buf)//buf长度不会影响读取,类似于循环读取输出

CopyN

在这里插入图片描述
示例

n,err:=io.CopyN(os.Stdout, r, n)

LimitReader

在这里插入图片描述
示例

lr:=io.LimitReader(r, n)
//注意,此函数原型为
//func LimitReader(r Reader, n int64) Reader { 
// 		return &LimitedReader{R:r, N:n}
//} 其返回一个LimitedReader

MultiReader

在这里插入图片描述
示例
在这里插入图片描述
顺序读取r1,r2,r3。
输出"first reader second reader third reader\n"

MutiWrite

在这里插入图片描述
示例
在这里插入图片描述
将r同时写入buf1和buf2

Pipe


示例

r,w:= io.Pipe()
go func(){
	fmt.Fprint(w,"aaaaaa")
	w.Close()
}()
io.Copy(os.Stdout, r);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值