Golang io.LimitReader()函数的用法及示例

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程