Golang逐行读取文本文件

当文件过大,不适合一次性载入内存,且文件每行都包含特定信息时,我们就需要逐行读取文件来保证程序的性能;

示例代码:

package main
 
import (
	"fmt"
	"os"
	"bufio"
)

func main() {

	fp,err := os.Open("file.txt")
	if err!=nil{
		fmt.Println(err) //打开文件错误
		return 
	}
	buf := bufio.NewScanner(fp)
	for {
		if !buf.Scan() {
			break //文件读完了,退出for
		}
		line := buf.Text() //获取每一行
		fmt.Println(line)	
	}
}

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/golang-read-file-line-by-line.html

分类: 计算机技术
推荐阅读:
Python使用莱布尼茨公式计算圆周率 可以通过莱布尼茨级数的求和来逼近圆周率;公式为:π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ......(无限项)
Updating crates.io index 出现错误解决方法 在向Rust项目添加依赖后尝试运行或编译,cargo管理工具会尝试更新crates.io index,当出现git配置错误可能会出现类似以下的错误:
没有main()函数的C语言程序 有两种方法可以不添加main()函数来运行C语言程序,第一种用#define预处理指令,第二种是使用-nostartfiles编译选项;
SQL重命名数据库 当您需要更改数据库名称时,将使用RENAME DATABASE;
C source files not allowed when not using cgo or SWIG: 解决办法 Go语言中,当你没有使用cgo编程,而go文件目录下却存在c文件时将引发诸如 package .: C source files not allowed when not using cgo or SWIG: main.c test.c 的错误;
使用Python向Bing Webmaster Tools提交URL 在本文中将使用Python向Bing Webmaster Tools提交URL,提交的URL会被很快进行评估,满足质量标准时,就会出现在bing搜索结果中;