Golang文件操作

写文件

  os模块可以创建文件,使用fmt可以写入文件。如以下例子:

复制代码
package main

import (
	"fmt"
	"os"
)

func main() {
	// 学习 golang的文件操作
	file, err := os.Create("test.txt")
	if err != nil {
		fmt.Println("文件创建失败", err)
	}
	_, err = fmt.Fprintln(file, "hello world")
	if err != nil {
		return
	}
	err = file.Close()
	if err != nil {
		fmt.Println("文件关闭失败", err)
	}
}

读文件

读文件可以用bufio模块,利用Scanner进行逐行读取。如以下例子:

go 复制代码
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	// WriteFile()
	file, err := os.Open("test.txt")
	if err != nil {
		fmt.Println(err) // 文件打开失败
	}
	defer func(file *os.File) {
		err := file.Close()
		if err != nil {
			fmt.Println(err)
		}
	}(file)
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}
	if err := scanner.Err(); err != nil {
		fmt.Println(err) // 读取文件失败
	}
}
相关推荐
桃子酱紫君9 分钟前
华为配置篇-BGP实验
开发语言·华为·php
QTX1873022 分钟前
JavaScript 中的原型链与继承
开发语言·javascript·原型模式
shaoing25 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
Asthenia041227 分钟前
由浅入深解析Redis事务机制及其业务应用-电商场景解决超卖
后端
Asthenia041228 分钟前
Redis详解:从内存一致性到持久化策略的思维链条
后端
Asthenia041228 分钟前
深入剖析 Redis 持久化:RDB 与 AOF 的全景解析
后端
Apifox39 分钟前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
掘金一周1 小时前
金石焕新程 >> 瓜分万元现金大奖征文活动即将回归 | 掘金一周 4.3
前端·人工智能·后端
The Future is mine1 小时前
Python计算经纬度两点之间距离
开发语言·python
Enti7c1 小时前
HTML5和CSS3的一些特性
开发语言·css3