在來源檔案目錄中定位檔案
當使用位於$PWD/dir/src.go 的來源檔案時,Go 的操作系統.Open("myfile.txt") 函數從基底目錄$PWD 開啟檔案myfile.txt。然而,使用者可能希望存取與 src.go 位於同一目錄中的文件,類似於 Ruby 的 FILE 變數。
在 Go 中,由於語言的編譯,這種方法無法直接實現自然。 Go 二進位與原始檔分開編譯,這意味著二進位檔的執行不需要後者。因此,Go 缺少與 __FILE__ 等效的函數。
儘管如此,一種解決方法涉及利用 runtime.Caller 函數。此函數提供與二進位檔案的編譯狀態相對應的檔案名稱。基於此信息,可以匯出 src.go 檔案的位置,然後遍歷目錄結構以到達所需的檔案。
請注意,更深入地了解此功能背後的用例將為實現預期目標提供量身定制的指導。
以上是如何存取Go來源檔案同目錄下的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!