首頁  >  文章  >  後端開發  >  Go中如何存取來源檔案目錄中的檔案?

Go中如何存取來源檔案目錄中的檔案?

Barbara Streisand
Barbara Streisand原創
2024-10-25 22:27:03998瀏覽

How to access files from the source file directory in Go?

從 Go 中的原始檔案目錄存取檔案

與解釋語言不同,Go 程式是編譯而不是直接執行。這意味著編譯後,二進位檔案的運行不再需要原始檔。因此,Go 沒有提供與 Ruby 的 __FILE__ 巨集直接等效的巨集來決定原始檔的位置。

Go 中用來產生二進位程式碼的主要函數是 os.Open 函數。預設情況下,此函數會搜尋目前工作目錄 ($PWD) 中的檔案。若要開啟與來源檔案位於同一目錄中的文件,可以使用相對路徑。然而,這種方法並不總是方便,特別是如果來源檔案被移動或複製到不同的位置。

要解決這個問題,建議使用運行時套件的runtime.Caller函數。該函數接受多個參數,其中之一是正在檢查的堆疊深度。透過提供值 0,runtime.Caller 傳回包含對 Caller 的呼叫的函數的呼叫者的檔案名稱和行號。例如:

在這段程式碼中,runtime.Caller函數用於取得原始檔案的檔案名,然後將其與要開啟的檔案的相對路徑結合。這可確保文件始終相對於來源文件打開,無論其位置如何。

以上是Go中如何存取來源檔案目錄中的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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