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.

相关推荐
Chenyu_31012 小时前
DPDK、TC 和 XDP:Linux 高性能网络到底在优化什么
linux·服务器·网络·缓存
乔旭伟14 小时前
Linux 服务器备份实战:一致性快照、日志归档与恢复演练
linux·运维·服务器
乔旭伟14 小时前
Linux 服务器安全加固实战:SSH、防火墙、补丁与入侵排查
linux·服务器·安全
裕晟资质规划15 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
刘胡子大叔15 小时前
备份包只有 1.5K?
linux·服务器·网络
无足鸟ICT15 小时前
【RHCA+】RPM包验证和数字证书
linux·运维·服务器
小范的技术工坊16 小时前
Linux应用开发(文件属性)
linux·运维·服务器
开开心心就好17 小时前
多份文档怎么批量打印?支持多种格式
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
南棋网络安全18 小时前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全
开开心心就好18 小时前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr