go基础库之创建文件和目录

本文描述了一些在代码中创建文件和目录的通常方法。

创建文件和目录

Golang 版本

1.12.1

前言

本文描述了一些在代码中创建文件和目录的通常方法。

实现

package main

import (
	"os"
)

func main() {

	f, err := os.Create("created.file")
	if err != nil {
		panic(err)
	}
	f.Close()

	f, err = os.OpenFile("created.byopen", os.O_CREATE|os.O_APPEND,
		os.ModePerm)
	if err != nil {
		panic(err)
	}
	f.Close()

	err = os.Mkdir("createdDir", 0777)
	if err != nil {
		panic(err)
	}

	err = os.MkdirAll("sampleDir/path1/path2", 0777)
	if err != nil {
		panic(err)
	}

}
$ go run main.go
.
├── main.go
├── created.byopen
├── created.file
├── createdDir
└── sampleDir
    └── path1
        └── path2

原理

前面的示例展示了可以创建文件或目录的四种方法。 os.Create函数是创建文件的最简单方法。 通过使用此功能,将创建具有0666权限的文件。

如果需要自定义权限创建文件,则os包的OpenFile函数可以满足。

使用os包的Mkdir函数创建目录。 这样,就会创建一个具有给定权限的目录。 第二个选项是使用MkdirAll函数。 此函数还会创建目录,但如果给定路径包含不存在的目录,则会创建路径中的所有目录(它的工作方式与Unixmkdir程序的-p选项相同)。