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读取文件内容的代码了,平时作为自己的一个小工具库用


欢迎关注,学习不迷路!

相关推荐
进阶小白猿1 分钟前
Java技术八股学习Day22
java·开发语言·学习
蒟蒻的贤5 分钟前
操作系统复习
java·开发语言·数据库
爱编程的小庄14 分钟前
Rust 发行版本及工具介绍
开发语言·后端·rust
lsx20240616 分钟前
SVN 检出操作详解
开发语言
一晌小贪欢21 分钟前
Python 对象的“Excel 之旅”:使用 openpyxl 高效读写与封装实战
开发语言·python·excel·表格·openpyxl·python办公·读取表格
赵八斤23 分钟前
java 项目中配置多个数据源
java·开发语言·数据库
txinyu的博客31 分钟前
解析muduo源码之 StringPiece.h
开发语言·网络·c++
浅念-32 分钟前
C语言——单链表
c语言·开发语言·数据结构·经验分享·笔记·算法·leetcode
2501_9445264234 分钟前
Flutter for OpenHarmony 万能游戏库App实战 - 关于页面实现
android·java·开发语言·javascript·python·flutter·游戏
Dem135 分钟前
怎么安装jdk
java·开发语言