在go语言中,判断一个文件是否存在,需要使用到“os.Stat()”函数,根据该函数返回的error接口的信息来进行判断;语法“_, err := os.Stat(path) if err == nil{return true, nil}if os.IsNotExist(err){return false, nil}”。如果返回的error为空,则说明文件是存在的。
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
在 Golang 中,判断 文件 或者目录是否存在,需要使用到 os.Stat 函数,根据 os.Stat 函数返回的 error 接口的信息来判断。
Go语言判断文件是否存在的语法
_, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil }
说明:
使用 os.Stat 获取目录信息,如果返回的 error 为空,那么说明文件是存在的,如果返回的错误信息是 os.IsNotExist 说明文件是不存在的。
判断文件是否存在的案例
package main import ( "fmt" "os" ) func main() { var( fileName = "C:/haicoder.txt" ) _, err := os.Stat(fileName) if err == nil{ fmt.Println("File exist") return } if os.IsNotExist(err){ fmt.Println("File not exist") return } fmt.Println("File error") return }
程序运行后,控制台输出如下:
使用 os.Stat 获取文件的信息,根据返回的错误信息判断文件是否存在,如果 err 是空,那么说明文件是存在的,如果返回的 err 不是空,并且是 IsNotExist ,那么说明文件不存在。
因为,我们运行程序时,文件 “C:/haicoder.txt” 不存在,因此,程序输出了 “File not exist”,现在,我们创建文件 “C:/haicoder.txt”,再次运行程序,控制台输出如下:
此时,我们看到,程序输出了 “File exist”。
Go语言判断文件是否存在总结
_, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil }
使用 os.Stat 获取目录信息,如果返回的 error 为空,那么说明文件是存在的,如果返回的错误信息是 os.IsNotExist 说明文件是不存在的。我们也可以将该功能封装为一个函数:
func PathExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil } return false, err }
以上是go语言怎么判断一个文件是否存在的详细内容。更多信息请关注PHP中文网其他相关文章!