Go 自学:文件的写入和读取

首先,使用os.Create()函数建立一个文件。

接着,使用io.WriteString()函数将内容写入文件。

最后,使用os.ReadFile()函数读取文件内容。

注意,这里读取的文件内容是data byte,我们需要使用string()函数将其转换为字符串。

go 复制代码
package main

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

func main() {
	content := "This needs to go in a file."

	file, err := os.Create("./mygofile.txt")
	checkNilErr(err)

	length, err := io.WriteString(file, content)
	checkNilErr(err)

	fmt.Println("length is: ", length)
	defer file.Close()

	readFile("./mygofile.txt")

}

func readFile(filename string) {
	databyte, err := os.ReadFile(filename)
	checkNilErr(err)

	fmt.Println("Text data inside the file is \n", string(databyte))
}

func checkNilErr(err error) {
	if err != nil {
		panic(err)
	}
}

输出为:

length is: 27

Text data inside the file is

This needs to go in a file.

相关推荐
Molesidy1 分钟前
【Linux】基于busybox的根文件系统的完善
linux·服务器·嵌入式linux
zero_70321 小时前
HCIP 课程文字版思维导图笔记
服务器·网络·php
进击的程序猿~4 小时前
Go Interface源码深度解析指南
开发语言·后端·golang
杨_晨5 小时前
Linux查看本地环境变量的命令
linux·运维·服务器
草莓熊Lotso5 小时前
【Linux网络】从0手写Reactor反应堆(二):完善核心细节——ET非阻塞读写、分层架构与回调机制
linux·运维·服务器·网络·c++·tcp/ip·架构
xlq223226 小时前
高并发服务器day21
运维·服务器
DFT计算杂谈6 小时前
FeSe超薄膜在CaF2衬底上的电子结构DFT研究
java·服务器·前端
Brilliantwxx6 小时前
【Linux】 第一个程序终端进度条
linux·运维·服务器
Huangjin007_6 小时前
【Linux 系统篇(十四)】进程 (二) :PCB、task_struct、fork系统调用
linux·运维·服务器
雨田言炎7 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt