ホームページ >バックエンド開発 >Golang >Golangはファイルが存在するかどうかを判断してファイルを作成します。

Golangはファイルが存在するかどうかを判断してファイルを作成します。

尚
オリジナル
2019-12-14 10:45:468779ブラウズ

Golangはファイルが存在するかどうかを判断してファイルを作成します。

1. ファイルまたはフォルダーが存在するかどうかを確認する

golang は、os.stat() メソッドを通じてファイルまたはフォルダーが存在するかどうかを確認できます。および os.IsExist() メソッドを使用して判断します:

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. フォルダーを再帰的に作成します

再帰フォルダーは os.MkdirAll() メソッドを使用します:

func MkdirAll(path string, perm FileMode) error

最初のパラメータはパスで、2 番目のパラメータは権限です。フォルダーが存在しない場合は作成し、存在する場合は何もしません。

3. テスト コード

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)
        }
    }
}

ターミナルで実行:

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存在

Golang の詳細については、golang チュートリアルを参照してください。 ### カラム 。

以上がGolangはファイルが存在するかどうかを判断してファイルを作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。