首頁 >後端開發 >Golang >go語言怎麼判斷一個檔案是否存在

go語言怎麼判斷一個檔案是否存在

青灯夜游
青灯夜游原創
2023-01-17 15:47:027477瀏覽

在go語言中,判斷一個檔案是否存在,需要使用到「os.Stat()」函數,根據該函數傳回的error介面的資訊來進行判斷;語法「_, err := os .Stat(path) if err == nil{return true, nil}if os.IsNotExist(err){return false, nil}」。如果傳回的error為空,則表示檔案是存在的。

go語言怎麼判斷一個檔案是否存在

本教學操作環境: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
}

程式執行後,控制台輸出如下:

go語言怎麼判斷一個檔案是否存在

使用os.Stat 取得檔案的訊息,根據傳回的錯誤訊息判斷檔案是否存在,如果err 是空,那麼說明檔案是存在的,如果傳回的err 不是空,且是IsNotExist ,那麼表示檔案不存在。

因為,當我們執行程式時,檔案“C:/haicoder.txt” 不存在,因此,程式輸出了“File not exist”,現在,我們建立檔案“C:/haicoder.txt”,再次運行程序,控制台輸出如下:

go語言怎麼判斷一個檔案是否存在

此時,我們看到,程式輸出了「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影片教學程式設計教學

以上是go語言怎麼判斷一個檔案是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn