1. Bestimmen Sie, ob eine Datei oder ein Ordner vorhanden ist
golang kann mithilfe der Methode os.stat() ermitteln, ob eine Datei oder ein Ordner vorhanden ist und os.IsExist()-Methode zur Beurteilung:
func isExist(path string)(bool){ _, err := os.Stat(path) if err != nil{ if os.IsExist(err){ return true } if os.IsNotExist(err){ return false } fmt.Println(err) return false } return true }
2. Ordner rekursiv erstellen
Rekursive Ordner verwenden die os.MkdirAll()-Methode:
func MkdirAll(path string, perm FileMode) error
Der erste Parameter ist der Pfad und der zweite die Berechtigung. Wenn der Ordner nicht vorhanden ist, erstellen Sie ihn. Wenn er vorhanden ist, unternehmen Sie nichts.
3. Testcode
package main import ( "os" "fmt" ) //判断文件或文件夹是否存在 func isExist(path string)(bool){ _, err := os.Stat(path) if err != nil{ if os.IsExist(err){ return true } if os.IsNotExist(err){ return false } fmt.Println(err) return false } return true } func main(){ //递归创建文件夹 err := os.MkdirAll("./test/1/2", os.ModePerm) if err != nil{ fmt.Println(err) return } dirs := []string{"./test/1", "./test/2", "./test/1.txt"} for _, v := range dirs{ if isExist(v){ fmt.Printf("%s is exist!", v) }else{ fmt.Printf("%s is not exist!", v) } } }
Im Terminal ausführen:
ma@ma:/data/code/go/src/file_exist$ tree . └── file_exist.go 0 directories, 1 file ma@ma:/data/code/go/src/file_exist$ go run file_exist.go # 运行程序 ./test/1 is exist! ./test/2 is not exist! ./test/1.txt is not exist! ma@ma:/data/code/go/src/file_exist$ tree . ├── file_exist.go └── test └── 1 └── 2 3 directories, 1 file ma@ma:/data/code/go/src/file_exist$ touch test/1.txt # 创建1.txt ma@ma:/data/code/go/src/file_exist$ go run file_exist.go ./test/1 is exist! ./test/2 is not exist! ./test/1.txt is exist! # 1.txt存在
Für weitere Golang-Kenntnisse beachten Sie bitte das Golang-Tutorial Spalte .
Das obige ist der detaillierte Inhalt vonGolang stellt fest, ob die Datei existiert oder nicht und erstellt die Datei.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!