Go的学习路程:文件(一)|Go 主题月

250 阅读1分钟

在实际编程过程中免不了要与文件交互,通过这篇文章学习记录一下 Go 的文件操作。

文件打开与关闭

Go 在 os 包中提供了 Open 方法来打开一个文件。如果操作成功,返回的文件对象的方法可用于读取数据;对应的文件描述符具有O_RDONLY模式。如果出错,错误底层类型是 *PathError。

func Open(name string) (file *File, err error)

我们也可以通过 Create 方法来创建一个新文件。如果文件已存在会截断它(为空文件)。如果成功,返回的文件对象可用于I/O;对应的文件描述符具有O_RDWR模式。如果出错,错误底层类型是 *PathError。

func Create(name string) (file *File, err error)

有打开方法,相应的就有关闭方法。当我们使用完文件时一定记得将文件关闭,可以尽快的释放资源。Go 在 os 包中提供了 Close 方法来关闭一个文件,使文件不能用于读写。

func (f *File) Close() error

通过下面代码,演示一下文件的打开与关闭操作。

package main

import "fmt"
import "os"

func main () {
    f, err := os.Open("D:\\tmp\\hello.txt")

    if err != nil {
        fmt.Printf("打开文件错误,%v", err) // 1
        return
    }

    fmt.Printf("file: %+v", f) // file: &{file:0xc000112780}
    f.Close()
}

如果打开一个不存在的文件,代码 1 处会输出 “打开文件错误,open D:\tmp\hellos.txt: The system cannot find the file specified.” 也就是找不到指定文件。

对于有些方法是会返回 error 的,如果是必要的操作在实际编程过程中需要判断是否返回错误,并且采取相应措施。