在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中文網其他相關文章!