当前位置: 首页 > article >正文

Go语言读取文件内容

简介

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

代码实现

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
}

测试

$ cat test.txt 
hello shura
end

执行程序,输出

hello shura
end

总结

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


欢迎关注,学习不迷路!


http://www.kler.cn/news/136820.html

相关文章:

  • Java八股文-Mysql
  • uniapp中使用lottie实现JSON动画
  • Java 使用 itextpdf 自定义 生成 pdf
  • 如何使用的是github提供的Azure OpenAI服务
  • 张雪峰:如果你现在是计算机专业,一定要优先报网络安全,它是未来国家发展的大方向
  • 插入数据时遇到主键重复问题怎么办?——insert into数据库技巧 (insert into主键重复数据库)
  • 基于饥饿游戏算法优化概率神经网络PNN的分类预测 - 附代码
  • Threejs_08 纹理颜色的调整(颜色空间的设置)
  • 系列一、介绍
  • 【旅游行业】Axure旅游社交平台APP端原型图,攻略门票酒店民宿原型案例
  • 【经验分享】Ubuntu如何设置swap交换
  • 数据结构【DS】队列的应用
  • V8引擎隐藏类(VIP课程)
  • 2023亚太杯数学建模思路 - 案例:感知机原理剖析及实现
  • Web3 分布式存储 IPFS(Web3项目一实战之四)
  • 轻量封装WebGPU渲染系统示例<36>- 广告板(Billboard)(WGSL源码)
  • “伙伴计划·伙伴领航站”春晖团队在蟠龙社区开展青少年书香阅读陪伴活动
  • 动态顺序表
  • 科大讯飞 vue.js 语音听写流式实现 全网首发
  • 程序员有必要考个 985 非全日制研究生嘛?
  • Linux 时区设置
  • 信息系统项目管理师-范围管理论文提纲
  • house of husk
  • 通过汇编理解cortex-m3:第0章
  • .Net中Redis的Hash表操作
  • 使用大语言模型 LLM 做文本分析