Package os 为操作系统功能提供了与平台无关的接口。设计类似 Unix,虽然错误处理是 Go-like; 失败的调用返回类型错误的值而不是错误号。通常,错误中可以获得更多信息。例如,如果采用文件名的调用失败,例如 Open 或 Stat,则错误将在打印时包含失败的文件名,并且类型为* PathError,可以解压缩以获取更多信息。

os 接口旨在在所有操作系统中保持一致。通常不可用的功能出现在系统特定的包 syscall 中。

package main

import (
	"log"
	"os"
)

func main() {
	f, err := os.OpenFile("notes.txt", os.O_RDWR|os.O_CREATE, 0755)
	if err != nil {
		log.Fatal(err)
	}
	if err := f.Close(); err != nil {
		log.Fatal(err)
	}
}