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.

相关推荐
JoyCong199840 分钟前
知识科普:ToDesk鸿蒙版高级功能免费开放使用了!
运维·服务器·华为·智能手机·harmonyos·远程工作
yu_zhidun1 小时前
企业电脑数据防泄密软件选型:内网终端 DLP 落地实战指南
服务器·网络·电脑
cjp5601 小时前
011. UG二次开发,UG管道通讯服务器与wpf客户端通讯
linux·运维·服务器
网硕互联的小客服2 小时前
原生IP,住宅IP,ISPIP,机房IP分别都有什么区别?适合用于什么站点或者程序?
服务器·网络·tcp/ip
FfHUCisI2 小时前
Go 内存分配器概览:从 TCMalloc 到三级缓存架构
缓存·架构·golang
虚无的纽扣3 小时前
【Linux】进程第二课:进程优先级和环境变量
linux·运维·服务器
maosheng11463 小时前
【无标题】linux中企业容易考的的小知识点1(rhcsa)
linux·运维·服务器
牢姐与蒯3 小时前
Linux进程(九).自定义shell——深度理解命令行和shell
linux·运维·服务器
前端 贾公子3 小时前
Milvus使用指南 (下)
java·服务器·前端
snow@li3 小时前
服务器运维:mysql 安装笔记
运维·服务器·mysql