在 Go 中进行输入/输出操作时,通常需要将一行文本读取为字符串。然而,标准库 readline 函数主要返回字节数组。
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中文网其他相关文章!