Go语言读取文件内容

简介

读取文件内容在每个语言里面都有,go语言中主要注意文件读完后会返回一个异常 io.EOF,根据这个异常去判断就可以了

代码实现

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
)

func main() {
	lines := Read("test.txt")
	for _, line := range lines {
		fmt.Println(line)
	}
}

// ReadFile 文件读取操作
// 按行读取文件
func ReadFile(file io.Reader) []string {
	var result []string
	reader := bufio.NewReader(file)
	for {
		line, _, err := reader.ReadLine()

		if err != nil && err != io.EOF {
			panic(err)
		}
		if err == io.EOF { //读取完了
			break
		}

		result = append(result, string(line))

	}
	return result
}

func Read(fileName string) []string {

	file, err := os.Open(fileName)
	if err != nil {
		panic(err)
	}
	defer file.Close()
	return ReadFile(file)
}

func ReadBytes(fileName string) []byte {
	data, err := os.ReadFile(fileName)
	if err != nil {
		return nil
	}
	return data
}

测试

shell 复制代码
$ cat test.txt 
hello shura
end

执行程序,输出

text 复制代码
hello shura
end

总结

以上就是go读取文件内容的代码了,平时作为自己的一个小工具库用


欢迎关注,学习不迷路!

相关推荐
行思理5 分钟前
IntelliJIdea 创建java spring boot程序
java·开发语言·spring boot
散峰而望23 分钟前
C语言刷题(一)
c语言·开发语言·编辑器·github·visual studio
CN-Dust24 分钟前
【C++】2025CSP-J第二轮真题及解析
开发语言·c++·算法
温柔一只鬼.1 小时前
Java数组
java·开发语言·算法
仟濹1 小时前
「经典图形题」集合 | C/C++
c语言·开发语言·c++
熊猫_豆豆1 小时前
MATLAB水滴下落湖水面泛起涟漪仿真
开发语言·matlab·水滴仿真
千里镜宵烛1 小时前
Lua--数据文件和持久性
开发语言·junit·lua
豐儀麟阁贵2 小时前
5.6对象
java·开发语言
郝学胜-神的一滴2 小时前
QAxios研发笔记(二):在Qt环境下基于Promise风格简化Http的Post请求
开发语言·c++·笔记·qt·网络协议·程序人生·http
敲代码的嘎仔2 小时前
数据结构算法学习day3——二分查找
java·开发语言·数据结构·学习·程序人生·算法·职场和发展