1. 程式人生 > >golang檔案相對路徑問題

golang檔案相對路徑問題

目錄結構:
--simple
    --data
          --data.json
    --search
          --feed.go

具體程式碼:

const dataFile = "../data/data.json"
_, filename, _, _ := runtime.Caller(1)
datapath := path.Join(path.Dir(filename), dataFile)
fmt.Println(datapath)
//開啟檔案
file, err := os.Open(datapath)
if err != nil {
   
return nil, err } //當函式return時,關閉檔案 defer file.Close()

如果不要中間獲取原始檔的路徑:

_, filename, _, _ := runtime.Caller(1)

直接開啟檔案的話,是會報錯的,會報找不到的錯誤, 所以只能先獲取當前原始檔的路徑再join資料檔案