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.

相关推荐
Yupureki8 小时前
《MySQL数据库基础》9.索引原理
linux·运维·服务器·网络·数据库·mysql
Yupureki8 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
方芯半导体8 小时前
ST系列MCU EtherCAT协议栈框架结构详解
服务器·网络·数据库·网络协议·机器人·自动化·工业以太网
上海云盾安全满满9 小时前
海外服务器使用高防CDN的优势
运维·服务器
放逐者-保持本心,方可放逐9 小时前
Go + WebAssembly 构建树木数据统计分析系统
开发语言·golang·wasm·javascipt
Mortalbreeze9 小时前
进程间通信 ---- System V 共享内存
linux·运维·服务器
hyunbar9 小时前
腾讯云OpenClaw服务器配置AI绘画完整指南
服务器·ai作画·腾讯云
fiveym9 小时前
Debian 12 PXE 安装报错:Bad archive mirror 复合型故障排查全记录
运维·服务器·debian·php
xingyuzhisuan10 小时前
从零精通GPU服务器模型部署:标准化流程与性能调优实战
运维·服务器·人工智能
s_w.h10 小时前
【 linux 】文件管理与重定向
linux·运维·服务器