设置Golang的GOPATH
設置Golang的GOPATH
chenjh213 · 2016-05-31 21:00:01 · 2417 次點擊 · 預計閱讀時間 2 分鐘 · 大約1分鐘之前 開始瀏覽 ? ? 這是一個創建于 2016-05-31 21:00:01 的文章,其中的信息可能已經有所發展或是發生改變。Go是一門全新的靜態類型開發語言,具有自動垃圾回收,豐富的內置類型,函數多返回值,錯誤處理,匿名函數,并發編程,反射等特性.
golang安裝
golang下載
sudo tar -zvxf go1.6.2.linux-amd64.tar.gz sudo mv go /usr/local/go #設置環境變量 vi /etc/profile export GOROOT=/usr/local/go #設置為go安裝的路徑 export GOPATH=$HOME/gocode #默認安裝包的路徑 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin source /etc/profileGOPATH設置
go命令依賴一個重要的環境變量:$GOPATH
GOPATH允許多個目錄,當有多個目錄時,請注意分隔符,多個目錄的時候Windows是分號;,Linux系統是冒號:
當有多個GOPATH時默認將go get獲取的包存放在第一個目錄下
$GOPATH目錄約定有三個子目錄
- src存放源代碼(比如:.go .c .h .s等)
- pkg編譯時生成的中間文件(比如:.a)
- bin編譯后生成的可執行文件(為了方便,可以把此目錄加入到 $PATH 變量中,如果有多個gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目錄)
代碼目錄結構規劃
GOPATH下的src目錄就是接下來開發程序的主要目錄,所有的源碼都是放在這個目錄下面,那么一般我們的做法就是一個目錄一個項目,例如: $GOPATH/src/mymath 表示mymath這個應用包或者可執行應用,這個根據package是main還是其他來決定,main的話就是可執行應用,其他的話就是應用包,這個會在后續詳細介紹package。
下面我就以mymath為例來講述如何編寫應用包,執行如下代碼
新建一個自己golang代碼的路徑myGolang
新建文件fabnacci.go
package mymathfunc Fabnacci(num int) int {if num == 0 || num == 1 {return num}return Fabnacci(num -1) + Fabnacci(num -2) }編譯應用
上面我們已經建立了自己的應用包,如何進行編譯安裝呢?有兩種方式可以進行安裝
- 進入對于的安裝包目錄,然后執行go install
- 在任意的目錄下指定需要編譯的包go build mymath
編譯后可以在$GOPATH/pkg/${GOOS}_${GOARCH}下看到mymath.a文件
.a文件是應用包,那么我們如何進行調用呢?
接下來我們新建一個應用程序來調用這個應用包
新建Fabnacci.go文件
package mainimport ("mymath""fmt""os""strconv" ) func main() {if len(os.Args) < 2 {fmt.Println("input number")return}num, err := strconv.Atoi(os.Args[1])if err != nil {fmt.Println("input must be number", err)return}fmt.Println("Fabnacci :", num, mymath.Fabnacci(num)) }如何編譯程序呢?進入該應用目錄,然后執行go build,在該目錄下會生成mathapp可執行文件
time ./mathapp 45 Fabnacci : 45 1134903170real 0m10.836s user 0m10.208s sys 0m0.032s如何安裝應用程序?進入該目錄執行go install,那么會在$GOPATH/bin/增加一個可執行文件mathapp
$GOPATH/bin/目錄已經加入了環境變量,可以直接運行mathapp
參照:
- GOPATH與工作空間
總結
以上是生活随笔為你收集整理的设置Golang的GOPATH的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go程序性能分析pprof
- 下一篇: golang hmac的sha1加密例子