Golang io.LimitReader()函数的用法及示例
在Go语言中,io包提供基本的I/O接口和原语的实现。其主要作用是封装这些原语的实现。在Go语言中, LimitReader() 函数的作用是返回一个读取自指定”r”的”Reader”,但如果读取了指定的”n”个字节后遇到EOF,即文件的结尾,则暂停读取。此外,此函数在io包中定义。在这里,您需要导入”io”包才能使用这些函数。
语法:
func LimitReader(r Reader, n int64) Reader
在这里,”r”是指定的Reader,”n”是字节数。
返回值:
它返回一个读取自指定”r”的”Reader”。
下面的示例说明了上述方法的用法:
示例1:
//Golang程序示例,说明如何使用io.LimitReader()函数
//导入主程序
package main
//导入fmt,io,strings和os
import (
"fmt"
"io"
"os"
"strings"
)
//调用main
func main() {
//使用NewReader定义r
r := strings.NewReader("Geeks\n")
//使用其参数调用LimitReader方法
res := io.LimitReader(r, 3)
//使用其参数调用Copy方法
op, err := io.Copy(os.Stdout, res)
//如果错误不为空则抛出异常
if err != nil {
panic(err)
}
//打印输出
fmt.Printf("\nn: %v\n", op)
}
输出:
Gee
n: 3
在上面的示例中,使用Copy()方法返回一个”Reader”,并且使用strings的NewReader()方法写入要读取的内容。
示例2:
// Golang程序示例,说明如何使用io.LimitReader()函数
//导入主程序
package main
//导入fmt,io,strings和os
import (
"fmt"
"io"
"os"
"strings"
)
//调用main
func main() {
//使用NewReader定义r
r := strings.NewReader("GfG\nis\na\nCS-Portal.\n")
//使用其参数调用LimitReader方法
res := io.LimitReader(r, 8)
//使用其参数调用Copy方法
op, err := io.Copy(os.Stdout, res)
//如果错误不为空则抛出异常
if err != nil {
panic(err)
}
//打印输出
fmt.Printf("\nn: %v\n", op)
}
输出:
GfG
is
a
n: 8
极客教程