写文件之前最好判断下目录是否存在,如果不存在则需要先创建目录,今天我们来学习golang里如何判断一个目录是否存在?使用系统自带的os包,下面直接上代码:
package main import ( "fmt" "os" ) // PathExists ... func PathExists(path string) (bool, error) { var err error if _, err = os.Stat(path); err == nil { return true, nil } if os.IsNotExist(err) { return false, nil } return false, err } func main() { if ok, err := PathExists("/data/17Go.wang"); ok { fmt.Println("存在") return } else { if err != nil { fmt.Println("返回错误:", err) return } fmt.Println("不存在") } }
直接运行即可看到效果!如果目录不存在,创建多级目录的方法是:
err := os.MkdirAll("/data/17Go.wang",os.ModePerm)