91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用golang怎么獲取程序的路徑

發布時間:2020-12-17 13:58:18 來源:億速云 閱讀:341 作者:Leah 欄目:開發技術

這篇文章給大家介紹利用golang怎么獲取程序的路徑,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1.獲取當前執行程序路徑

func execPath() (string, error) {
 file, err := exec.LookPath(os.Args[0])
 if err != nil {
  return "", err
 }
 re, err := filepath.Abs(file)
 if err != nil {
  logs.Error("The eacePath failed: %s\n", err.Error())
 }
 flog.Infoln("The path is ", re)
 return filepath.Abs(file)
}
func GetCurrentDirectory() string {
 dir, err := filepath.Abs(filepath.Dir(os.Args[0])) //返回絕對路徑 filepath.Dir(os.Args[0])去除最后一個元素的路徑
 if err != nil {
  log.Fatal(err)
 }
 return strings.Replace(dir, "\\", "/", -1) //將\替換成/
}

2.獲取當前執行程序目錄

func GetCurrentDirectory() string {
 //返回絕對路徑 filepath.Dir(os.Args[0])去除最后一個元素的路徑
 dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
 if err != nil {
 log.Fatal(err)
 }
 
 //將\替換成/
 return strings.Replace(dir, "\\", "/", -1) 
}

測試使用

func main() {
 dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
 if err != nil {
   log.Fatal(err)
 }
 fmt.Println(dir)
}

補充:golang下的GOPATH路徑問題

為了方便,我一般使用task來管理項目的編譯等事項,由于才入門go,所以碰到一個問題,以此篇為記。

背景

我需要開發一個組建,所以代碼結構沒有src目錄,并且項目放在GOPATH路徑的src目錄下

我在編譯二進制文件的時候使用了下面的命令

GOPATH=`pwd` GOBIN=`pwd` go install main.go

編譯報錯,提示import的類庫找不到

排錯分析

1、檢查env是否正確 命令:go env,檢查結果正常

2、檢查golang的GOPATH和GOROOT配置是否正常,檢查通過

3、分析編譯命令找到問題

問題

我在編譯的時候重新定義了GOPATH路徑。在go語言編譯的時候,它會去找GOPATH和GOROOT下面的src目錄。

現在GOROOT=~/gopath/,那么首先編譯器到GOROOT下找import的包,如果沒有找到,則到GOPATH路徑下尋找

此時GOPATH=`pwd`,也就是項目路徑,那么它會到項目路徑下的src目錄下尋找。由于我沒有src目錄,所以找不到,從而編譯報錯

解決

問題其實出在GOPATH下,由于當前項目文件已經處于GOPATH的src下,所以只需要刪除GOPATH即可。

正確編譯命令:

GOBIN=`pwd` go install main.go

關于利用golang怎么獲取程序的路徑就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瓦房店市| 毕节市| 安国市| 关岭| 武定县| 阿克陶县| 易门县| 余江县| 肥乡县| 阿拉尔市| 富顺县| 上犹县| 和林格尔县| 桐庐县| 黄陵县| 苍南县| 桂东县| 宾阳县| 施甸县| 凌源市| 萍乡市| 公安县| 富平县| 城固县| 梓潼县| 吉木萨尔县| 新闻| 区。| 苗栗市| 大关县| 临武县| 平度市| 乌拉特后旗| 车险| 乃东县| 揭东县| 仁化县| 垣曲县| 临洮县| 扬中市| 元阳县|