首页 > 后端开发 > Golang > Go 的 Readln 函数如何简化惯用的行读取?

Go 的 Readln 函数如何简化惯用的行读取?

DDD
发布: 2024-12-05 17:13:17
原创
703 人浏览过

How Can Go's `Readln` Function Simplify Idiomatic Line Reading?

使用 Readln 进行 Go 中的惯用行读取

在 Go 中进行输入/输出操作时,通常需要将一行文本读取为字符串。然而,标准库 readline 函数主要返回字节数组。

便捷的解决方案:Readln 函数

Readln 函数提供了一种将字节数组从 readline 转换为字符串的便捷方法。它的工作原理如下:

<br>import (</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"bufio"
"fmt"
"os"
登录后复制

)

// Readln 返回一行(没有结尾 n)
// 来自输入缓冲读取器。
// 如果存在错误,则返回错误
// 缓冲阅读器。
func Readln(r *bufio.Reader) (string, error) {
var (

isPrefix bool = true
err error = nil
line, ln []byte
登录后复制

)

for isPrefix && 错误==零{

line, isPrefix, err = r.ReadLine()
ln = append(ln, line...)
登录后复制

}

返回字符串(ln), err
}

func main() {
f, err := os.Open ("filename.txt")
if err != nil {

fmt.Println("error opening file= ", err)
os.Exit(1)
登录后复制

}

r := bufio.NewReader(f)

对于行, err := Readln(r);错误==零; line, err = Readln(r) {

fmt.Println(line)
登录后复制

}

if err != io.EOF {

fmt.Println("error reading file= ", err)
os.Exit(1)
登录后复制

}
}

示例用法

main() 函数打开一个文件,从中创建一个缓冲读取器,然后使用 Readln 函数迭代文件中的每一行。 Readln 函数以字符串形式返回该行并返回错误值。程序会继续读取行,直到到达文件末尾或发生错误。

这种方法简化了 Go 中的行读取,提供了一种更惯用且用户友好的方法来从输入中获取字符串。

以上是Go 的 Readln 函数如何简化惯用的行读取?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板