Heim > Backend-Entwicklung > Golang > Golang stellt fest, ob die Datei existiert oder nicht und erstellt die Datei.

Golang stellt fest, ob die Datei existiert oder nicht und erstellt die Datei.

Freigeben: 2019-12-14 10:45:46
Original
8795 Leute haben es durchsucht

Golang stellt fest, ob die Datei existiert oder nicht und erstellt die Datei.

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
}
Nach dem Login kopieren

2. Ordner rekursiv erstellen

Rekursive Ordner verwenden die os.MkdirAll()-Methode:

func MkdirAll(path string, perm FileMode) error
Nach dem Login kopieren

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)
        }
    }
}
Nach dem Login kopieren

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存在
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage