栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Go语学习笔记 - 文件操作(一) | 从零开始Go语言

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go语学习笔记 - 文件操作(一) | 从零开始Go语言

学习笔记,写到哪是哪。

文件操作比较多,分为几篇来写吧。首先是文件的读写,在平时的工程化操作中使用最多。

文件写

样例代码如下

package main

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

//写文件
func DoWriteFile() error {
	_filePath := "./test.txt"
	_file, _err := os.OpenFile(_filePath, os.O_WRONLY|os.O_CREATE, 0666)
	if _err != nil {
		fmt.Printf("打开文件错误=%vn", _err)
		return _err
	}
	//提前关闭文件
	defer _file.Close()
	//写入文件
	_writer := bufio.NewWriter(_file)
	_writer.WriteString("hahaha!n")
	_writer.Flush()
	return nil
}


func main() {
	DoWriteFile()
}

这里使用了os.OpenFile方法,后面的os.O_WRONLY模式会在后面提到。

执行结果

文件读

样例代码如下

package main

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

//读文件
func DoReadFile() error {
	_filePath := "./test.txt"
	_file, _err := os.Open(_filePath)
	if _err != nil {
		fmt.Printf("打开文件错误=%vn", _err)
		return _err
	}
	defer _file.Close()
	_reader := bufio.NewReader(_file)
	for true {
		str, err := _reader.ReadString('n')
		if err == io.EOF {
			break
		}
		fmt.Println(str)
	}
	return _err
}

func main() {
	DoReadFile()
}

执行结果如下

hahaha!


Process finished with the exit code 0

注意,os.Open方法是以只读模式打开文件。

小结

在使用os.OpenFile方法的时候需要使用到文件模式,文件的打开模式如下:
O_RDONLY int = syscall.O_RDONLY // 只读模式打开文件
O_WRONLY int = syscall.O_WRONLY // 只写模式打开文件
O_RDWR int = syscall.O_RDWR // 读写模式打开文件
O_APPEND int = syscall.O_APPEND // 写操作时将数据附加到文件尾部
O_CREATE int = syscall.O_CREAT // 如果不存在将创建一个新文件
O_EXCL int = syscall.O_EXCL // 和O_CREATE配合使用,文件必须不存在
O_SYNC int = syscall.O_SYNC // 打开文件用于同步I/O
O_TRUNC int = syscall.O_TRUNC // 如果可能,打开时清空文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937825.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号