草庐IT

LimitedReader

全部标签

go - 如何在 The Go Programming Language 中实现练习

练习7.5:io包中的LimitReader函数接受一个io.Readerr和一些字节数n,并返回另一个从r读取但在n字节后报告文件结束条件的Reader。实现它。funcLimitReader(rio.Reader,nint64)io.Reader如何实现?下面是我的代码,我知道不对。typeMyReaderstruct{bytes[]bytelengthint}func(myReader*MyReader)Read(p[]byte)(int,error){fmt.Println("beinvoked")myReader.bytes=pmyReader.length=len(p)fm

一文了解 io.LimitedReader类型

1.引言io.LimitedReader提供了一个有限的读取功能,能够手动设置最多从数据源最多读取的字节数。本文我们将从io.LimitedReader的基本定义出发,讲述其基本使用和实现原理,其次,再简单讲述下具体的使用场景,基于此来完成对io.LimitedReader的介绍。2.基本说明2.1基本定义io.LimitedReader是Go语言提供的一个Reader类型,其包装了了一个io.Reader接口,提供了一种有限的读取功能。io.LimitedReader的基本定义如下:typeLimitedReaderstruct{RReader//underlyingreaderNint64