### 创建目录
创建一级目录
>**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
删除成功
```
- 安装开发环境
- 安装开发环境
- 安装详细教程
- 引入包
- Go语言基础
- 基本变量与数据类型
- 变量
- 数据类型
- 指针
- 字符串
- 代码总结
- 常量与运算符
- 常量
- 运算符
- 流程控制
- if判断
- for循环
- switch分支
- goto跳转
- 斐波那契数列
- Go语言内置容器
- 数组
- 切片
- 映射
- 函数
- 函数(上)
- 函数(中)
- 函数(下)
- 小节
- 包管理
- 结构体
- 结构体(上)
- 结构体(中)
- 结构体(下)
- 小节
- 错误处理
- 错误处理
- 宕机
- 错误应用
- 小节
- 文件操作
- 获取目录
- 创建和删除目录
- 文件基本操作(上)
- 文件基本操作(中)
- 文件基本操作(下)
- 处理JSON文件
- 接口与类型
- 接口的创建与实现
- 接口赋值
- 接口嵌入
- 空接口
- 类型断言(1)
- 类型断言(2)
- 小节
- 并发与通道
- goroutine协程
- runtime包
- 通道channel
- 单向通道channel
- select
- 线程同步
- 多线程的深入学习
- http编程
- http简介
- Client和Request
- get请求
- post请求
- 模块函数方法
- 模块
- fmt库,模块
- 项目练习
- 爬虫:高三网
- 爬虫:快代理
- 爬虫:快代理2
- 多线程:通道思路
- 多线程爬虫:快代理