目录
今天在写代码遇到一个问题,如下代码所示
遇到问题
func Exists() {
getwd, _ := os.Getwd()
fmt.Println(getwd)
_, err := os.Stat(getwd) //os.Stat获取文件信息
fmt.Println(err) // <nil>
fmt.Println(os.IsExist(err)) // false
fmt.Println(os.IsNotExist(err)) // false
_, err1 := os.Stat("/Users/qxqzx/GoWork/src/go-exam/runtime/logs2") //这个文件夹不存在
fmt.Println(os.IsExist(err1)) // false
fmt.Println(os.IsNotExist(err1)) // true
// 打印结果
///Users/qxqzx/GoWork/src/go-exam
//false
//false
//false
//true
}
os.Stat()os.IsExist(err)os.IsNotExist(err)err == nilerr != nilos.IsNotExist(err)os.IsExist(err)
科学的判断方式
os.Stat()
os.IsNotExist()os.IsExist()
// 判断所给路径文件/文件夹是否存在1
func Exists(path string) bool {
_, err := os.Stat(path) //os.Stat获取文件信息
if err != nil {
if os.IsExist(err) {
return true
}
return false
}
return true
}
// 判断所给路径文件/文件夹是否存在2
func Exists(path string) bool {
_, err := os.Stat(path) //os.Stat获取文件信息
if err != nil {
if os.IsNotExist(err) {
return false
}
return true
}
return true
}
// 判断所给路径文件/文件夹是否存在3 直接用os.IsNotExist(err)
func Exists(path string) bool {
_, err := os.Stat(path) //os.Stat获取文件信息
if os.IsNotExist(err) {
return false
}
return true
}