ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 创建目录 创建一级目录 >**func Mkdir(name string, perm FileMode) error** >name string 当前文件夹路径 >perm FileMode 所创建文件夹名 当权限不够时,会报错"Access is denied",当文件存在是重复创建会报错"Cannot create a file when that file already exists"。Mkdir()创建多级目录会报错"The system cannot find the path specified",因此我们使用另外一个函数 > **func MkdirAll(name string, perm FileMode) error** > name string 当前文件夹路径 >perm FileMode 所创建文件夹名 ``` package main import ( "fmt" "os" ) // 创建目录 func createDir(path string, dirname string) { dirpath := path + "\\" + dirname // 0777 也可写成 os.ModePerm 0777 应该是权限啥的 // os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。 // os.Mkdir(路径,权限) // err := os.MkdirAll(dirpath, 0777) 创建多级 err := os.Mkdir(dirpath, 0777) if err != nil { // 输出错误 fmt.Println(err) } else { fmt.Println("创建成功") } // os.Chmod 更改目录权限 os.Chmod(dirpath, 0777) fmt.Println(path, dirname) } func main() { // 路径 需要创建的文件名 //createDir("E:\\flie", "test\\1\\2\\3\\4\\5") createDir("E:\\flie", "test") } 结果: 创建成功 E:\flie test ``` 使用MkdirAll创建一个目录path,当path已经存在,不会报错,会返回nil,区别于Mkdir ### 删除目录 删除空目录 > **func Remove(name string) error** > name string 传入路径 删除非空文件夹会报错"The directory is not empty",对于非空文件夹,使用下面接口 > **func RemoveAll(name string) error** ``` package main import ( "fmt" "os" ) // 删除空文件夹 func delete(path string) { fmt.Println("删除文件夹", path) // err := os.RemoveAll(path) 删除非空文件夹 err := os.Remove(path) if err != nil { fmt.Println(err) } else { fmt.Println("删除成功") } } func main() { // 删除文件夹路径 delete("E:\\flie\\test\\1\\2\\3\\4\\5") } 结果: 删除文件夹 E:\flie\test\1\2\3\4\5 删除成功 ```