今天就跟大家聊聊有關在GOPATH中使用GOLAND時會遇到哪些問題,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
首先我的環境已配置好:


GO的目錄結構是:

add.go
package calc
//函數名必須大寫首字母,不然外部包找不到
func Add(a int,b int)(int){
return a+b
}sub.go
package calc
func Sub(a int,b int)(int){
return a-b
}執行文件,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正確執行是:

這樣是沒問題的,GOPATH已經確定正確
但是GOLAND有個坑
在IDE中執行一直報錯:

這里的GOPATH已經出錯了,所以編譯找不到,我檢查了go env也是正確的GOPATH....
原來我忘記了GOLAND IDE中也有設置:

在這里修改為正確的GOPATH,再次執行:

沒毛病了 :)
補充:golang的gopath和goroot
近期入門golang,第一個坑 gopath和goroot。在此做個記錄用
我的環境:
golang 1.9.4
centos7.5 x64
安裝略過。
大致介紹:
gopath:golang的工作目錄和go get下載目錄,項目目錄。
goroot:golang的語言安裝目錄
GOPATH設置
go 命令依賴一個重要的環境變量:$GOPATH
(注:這個不是Go安裝目錄。下面以筆者的工作目錄為示例,如果你想不一樣請把GOPATH替換成你的工作目錄。)
在類 Unix 環境下大概這樣設置:
export GOPATH=/tmp/mygo
GOPATH允許多個目錄,當有多個目錄時,請注意分隔符,Linux系統是冒號,當有多個GOPATH時,默認會將go get的內容放在第一個目錄下。
$GOPATH 目錄約定有三個子目錄:
GOPATH下的src目錄就是接下來開發程序的主要目錄,所有的源碼都是放在這個目錄下面,那么一般我們的做法就是一個目錄一個項目,例如: $GOPATH/src/mymath 表示mymath這個應用包或者可執行應用,這個根據package是main還是其他來決定,main的話就是可執行應用,其他的話就是應用包,這個會在后續詳細介紹package。
src 存放源代碼(比如:.go .c .h .s等)
pkg 編譯后生成的文件(比如:.a)
bin 編譯后生成的可執行文件(為了方便,可以把此目錄加入到 $PATH 變量中,如果有多個gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目錄)
我用是

這個開發在設置中

其中index entire GOPATH我一般去掉勾選,因為我習慣每個項目單獨一個環境,不與其他項目公用
看完上述內容,你們對在GOPATH中使用GOLAND時會遇到哪些問題有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。