golang在linux環境下自定義包(一招解決問題)
由於是go語言新手,有些簡單的問題處理起來有點困難。現在從go安裝到執行詳細地說起
關於go語言在linux環境下自定義包的問題困擾了我好大一會。
下面我就從前往後詳細地說一下解決方法,一招解決問題。
(I)linux下解決,從go安裝開始說起
命令安裝比直接在先下載golang安裝包解壓安裝更快更方便,當然命令直接安裝的版本只有1.6,現在很多開源專案都支援更高的版本了,所以如果我們需要更高的版本,可以現在go官網上下載,手動安裝,這裡也就不再詳細敘述了。
(1)下載安裝go
$sudo apt-get install golang
(2)檢視一下是否安裝成功,顯示如下證明安裝成功
(3)配置GOROOT和GOPATH,GROOT是go的安裝的位置,GOPATH是開發工程存放的位置(也就是我們常說的workspace)。
關於GOPATH的設定方式,網上有兩種設定方式,推薦第二種方式安裝。分別如下:
單個使用者配置:一種是在 ~/.bashrc檔案末尾加上如下環境變數
$ vim ~/.bashrc
然後將開發工程的目錄新增到裡面
然後重新載入環境變數到記憶體
$source ~/.bashrc
多使用者配置(推薦):另外一種方法是在/etc/profile檔案中新增
vim /etc/profile # 檔案末尾新增以下內容
重新載入 profile 檔案,載入環境變數到記憶體
$source /etc/profile
檢視go版本
$go version
(II) 自定義包使用
自定義包使用,是在剛才的配置正確為前提下使用和處理的。
這裡也有兩種方法實現,看下下面的程式碼就知道了,這裡參考博文https://blog.csdn.net/u010164190/article/details/80830941
1.demo.go程式碼 package main //方式1:./pac為當前目錄路徑 import ("./pac") //方式2:將pac.go拷貝到/usr/local/Cellar/go/1.8.3/libexec/src/pac系統目錄下 //import ("pac") func main() { pack.Printt("Hello") } 2.在同級目錄下建立pac目錄,在pac目錄下建立pac.go package pack import ("fmt") func Printt(x string) { fmt.Printf(x + " Go World.\n") } 3.測試執行 # go run demo.go
上面程式碼的重點在於兩處:
(1)一個是demo.go和pack包在同一個資料夾下,然後在demo.go中呼叫pack的時候是import("./pac"),注意在import的時候是“./pac”而不是“pac”,pac是不行的,我嘗試過。之前一直使用錯誤的地方也就在於此。
當然我們習慣性地,在工程下建立三個目錄
其中src下存放原始碼,bin下存放編譯的檔案。
案例展示:下面就是我寫的一個main.go檔案,想呼叫gpool包
(2)另一個方法是,找到go的安裝包,新增自己建立的包(這個不常用,也不是根本解決辦法倒是真的,不建議這樣使用,但是還是在這裡說一下吧)。一般使用命令安裝go的時候都是安裝在/usr/local,或者/usr/lib中,我的就是在/usr/lib中,如下圖所示,
找到繼續展開找到src資料夾,然後將建立的包放到src下面就行了。當然不推薦這種做法啦
(III)關於windows下使用goland使用自定義包的問題
請參考我的另外一篇文章,裡面說得很清晰了。博文連結:https://blog.csdn.net/Homewm/article/details/85208680
純手工打,不喜勿噴,喜歡點個讚唄。
參考連結:
https://www.jianshu.com/p/c45f8cdca214
https://blog.csdn.net/u010164190/article/details/80830941