Maison >développement back-end >Golang >Golang détermine si le fichier existe ou non et crée le fichier.
1. Déterminer si un fichier ou un dossier existe
golang peut déterminer si un fichier ou un dossier existe via la méthode os.stat() et la méthode os.IsExist() pour juger :
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. Créez des dossiers de manière récursive
Les dossiers récursifs utilisent la méthode os.MkdirAll() :
func MkdirAll(path string, perm FileMode) error
Le premier paramètre est le chemin et le second est l'autorisation. Si le dossier n'existe pas, créez-le ; s'il existe, ne faites rien.
3. Code de test
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) } } }
Exécuter dans le terminal :
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存在
Pour plus de connaissances sur Golang, veuillez faire attention au tutoriel golang colonne .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!