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.

相关推荐
苏宸啊6 小时前
Linux指令篇(一)
linux·运维·服务器
ZStack开发者社区8 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
IT=>小脑虎9 小时前
Go语言零基础小白学习知识点【基础版详解】
开发语言·后端·学习·golang
源代码•宸9 小时前
Golang语法进阶(并发概述、Goroutine、Channel)
服务器·开发语言·后端·算法·golang·channel·goroutine
WayneJoon.H9 小时前
2023CISCN go_session
网络安全·golang·ctf·代码审计·ciscn
晴天¥9 小时前
VMware+Oracle linux LVM/非LVM磁盘扩容
linux·运维·服务器
醇氧9 小时前
Ping 127.0.0.1 具有 32 字节的数据:一般故障。【二】
运维·服务器·开发语言
墨风如雪10 小时前
VPS交易避坑指南:原油、改邮、PUSH与交易所模式深度解析 (含搬瓦工/DMIT/NetCup实战)
服务器
LeenixP10 小时前
RK3576-Debian12删除userdata分区
linux·运维·服务器·数据库·debian·开发板
qq_ceiling10 小时前
H3C交换机配置M-LAG
运维·服务器·网络