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.

相关推荐
省四收割者1 天前
从硬件中断到分布式协程:全景解构高并发机制与 C / Golang 的巅峰对决
c++·分布式·嵌入式硬件·golang
艾莉丝努力练剑1 天前
【Linux网络】多路转接select
java·linux·运维·服务器·网络·tcp/ip
Cx330❀1 天前
【Linux网络】从零定制应用层协议:黏包问题、全双工缓冲区与 Jsoncpp 序列化深度解析
linux·运维·服务器·开发语言·网络·c++·人工智能
Benszen1 天前
云计算基础-5:Linux 重定向与管道
linux·运维·服务器
艾莉丝努力练剑1 天前
【Linux网络】五种IO模型与非阻塞IO
linux·运维·服务器·开发语言·网络·tcp/ip
CoderYanger1 天前
Java EE:6.网络编程套接字(第一弹)
java·运维·服务器·网络·面试·职场和发展·java-ee
云飞云共享云桌面1 天前
集中算力・统一数据・高效协同:SolidWorks 云桌面方案详解
运维·服务器·人工智能·安全·3d·电脑·制造
pixcarp1 天前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
莫名的好感°1 天前
手机RAR解压怎么选?2026年二季度四款产品问答
服务器·网络·智能手机
张忠琳2 天前
【Go 1.26.4】Golang Select 深度解析
开发语言·后端·golang