### 創建目錄
創建一級目錄
>**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
- 多線程:通道思路
- 多線程爬蟲:快代理