Loading... # Go读写文件 在 Go 语言中,可以使用标准库中的 os 包和 ioutil 包来进行文件读写操作。 ## 读文件 使用 ioutil 包中的 ReadFile() 函数可以很方便地读取一个文件的内容。ReadFile() 函数的使用方法如下: ```go import "io/ioutil" func ReadFile(filename string) ([]byte, error) { return ioutil.ReadFile(filename) } ``` ReadFile() 函数接受一个文件名作为参数,返回一个字节数组和一个错误对象。如果读取文件成功,返回的字节数组中包含了文件的内容;如果读取文件失败,则返回一个非 nil 的错误对象。 使用 os 包中的 Open() 函数和 Read() 方法也可以实现文件读取操作。代码示例: ```go import ( "os" ) func ReadFile(filename string) ([]byte, error) { file, err := os.Open(filename) if err != nil { return nil, err } defer file.Close() fileInfo, err := file.Stat() if err != nil { return nil, err } size := fileInfo.Size() buffer := make([]byte, size) _, err = file.Read(buffer) if err != nil { return nil, err } return buffer, nil } ``` 上面的代码中,我们首先通过 os.Open() 函数打开一个文件,并获取到文件的句柄。然后,通过句柄调用 Stat() 方法获取文件的信息,包括文件大小。接着,我们创建一个缓冲区,大小为文件的大小,最后通过句柄的 Read() 方法将文件的内容读取到缓冲区中。 ## 写文件 使用 ioutil 包中的 WriteFile() 函数可以很方便地写入一个文件的内容。WriteFile() 函数的使用方法如下: ```go import "io/ioutil" func WriteFile(filename string, data []byte, perm os.FileMode) error { return ioutil.WriteFile(filename, data, perm) } ``` WriteFile() 函数接受一个文件名、一个字节数组和一个文件权限作为参数,将字节数组中的内容写入到指定的文件中。如果写入成功,则返回 nil;否则返回一个非 nil 的错误对象。 使用 os 包中的 Create() 函数和 Write() 方法也可以实现文件写入操作。代码示例: ```go import ( "os" ) func WriteFile(filename string, data []byte, perm os.FileMode) error { file, err := os.Create(filename) if err != nil { return err } defer file.Close() _, err = file.Write(data) if err != nil { return err } err = file.Chmod(perm) if err != nil { return err } return nil } ``` 上面的代码中,我们首先通过 os.Create() 函数创建一个文件,并获取到文件的句柄。然后,通过句柄调用 Write() 方法将数据写入到文件中。最后,通过句柄的 Chmod() 方法设置文件权限。 猜你想看 每日一学:PHP 中的array_intersect_uassoc函数详解 Go编码规范 使用 linux go-cqhttp搭建QQ机器人 解决 Vue 打包过后 dist 文件夹过大 JS离开窗口改变title 小小API xxapi.cn 8月13日JS学习笔记 每日一学:PHP 中的array_reduce函数详解 typecho打开没有静态资源文件 每日一学:PHP 中的array_reverse函数详解 最后修改:2023 年 02 月 19 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏