您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)在GOPATH中使用GOLAND時會遇到哪些問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
首先我的環(huán)境已配置好:
GO的目錄結(jié)構(gòu)是:
add.go
package calc //函數(shù)名必須大寫首字母,不然外部包找不到 func Add(a int,b int)(int){ return a+b }
sub.go
package calc func Sub(a int,b int)(int){ return a-b }
執(zhí)行文件,main.go
package main import "fmt" //導入包路徑,這里src省略,默認加在GOPATH import "go_dev/day1/package_example/calc" func main(){ sum := calc.Add(100,300) sub := calc.Sub(200,100) fmt.Println(sum,sub) }
在cmd正確執(zhí)行是:
這樣是沒問題的,GOPATH已經(jīng)確定正確
但是GOLAND有個坑
在IDE中執(zhí)行一直報錯:
這里的GOPATH已經(jīng)出錯了,所以編譯找不到,我檢查了go env也是正確的GOPATH....
原來我忘記了GOLAND IDE中也有設(shè)置:
在這里修改為正確的GOPATH,再次執(zhí)行:
沒毛病了 :)
補充:golang的gopath和goroot
近期入門golang,第一個坑 gopath和goroot。在此做個記錄用
我的環(huán)境:
golang 1.9.4
centos7.5 x64
安裝略過。
大致介紹:
gopath:golang的工作目錄和go get下載目錄,項目目錄。
goroot:golang的語言安裝目錄
GOPATH設(shè)置
go 命令依賴一個重要的環(huán)境變量:$GOPATH
(注:這個不是Go安裝目錄。下面以筆者的工作目錄為示例,如果你想不一樣請把GOPATH替換成你的工作目錄。)
在類 Unix 環(huán)境下大概這樣設(shè)置:
export GOPATH=/tmp/mygo
GOPATH允許多個目錄,當有多個目錄時,請注意分隔符,Linux系統(tǒng)是冒號,當有多個GOPATH時,默認會將go get的內(nèi)容放在第一個目錄下。
$GOPATH 目錄約定有三個子目錄:
GOPATH下的src目錄就是接下來開發(fā)程序的主要目錄,所有的源碼都是放在這個目錄下面,那么一般我們的做法就是一個目錄一個項目,例如: $GOPATH/src/mymath 表示mymath這個應(yīng)用包或者可執(zhí)行應(yīng)用,這個根據(jù)package是main還是其他來決定,main的話就是可執(zhí)行應(yīng)用,其他的話就是應(yīng)用包,這個會在后續(xù)詳細介紹package。
src 存放源代碼(比如:.go .c .h .s等)
pkg 編譯后生成的文件(比如:.a)
bin 編譯后生成的可執(zhí)行文件(為了方便,可以把此目錄加入到 $PATH 變量中,如果有多個gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目錄)
我用是
這個開發(fā)在設(shè)置中
其中index entire GOPATH我一般去掉勾選,因為我習慣每個項目單獨一個環(huán)境,不與其他項目公用
看完上述內(nèi)容,你們對在GOPATH中使用GOLAND時會遇到哪些問題有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。