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.

相关推荐
爱学习的小囧9 分钟前
ESXi 环境 NFSv3 与 NFSv4.1 哪个更稳?深度对比 + 选型指南 + 运维全教程
运维·服务器·网络·虚拟化
郝学胜-神的一滴12 分钟前
epoll 边缘触发 vs 水平触发:从管道到套接字的深度实战
linux·服务器·开发语言·c++·网络协议·unix
代码中介商36 分钟前
Linux 文件操作系统调用完全指南:从 open 到 close
linux·运维·服务器
被摘下的星星40 分钟前
传输控制协议(TCP)
服务器·网络·tcp/ip
想拿大厂offer42 分钟前
【Linux】权限
linux·服务器
倔强的石头1061 小时前
【Linux指南】基础IO系列(七):“一切皆文件” 底层实现 ——struct file 与统一 IO 接口的魔法
linux·运维·服务器
网络小白不怕黑1 小时前
1.1 VMware部署Rocky Linux 9 (GPT分区表,最小化安装)
linux·服务器·gpt
克莱因3581 小时前
思科Cisco 静态NAT
服务器·网络·思科
恒创科技HK1 小时前
Windows香港云服务器新开注意事项(含远程连接教程)
运维·服务器·windows
满天星83035771 小时前
【Linux/多路复用】poll和epoll的使用
linux·服务器·c++·后端