您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)GO導(dǎo)入包報錯以及GoLand設(shè)置GOPATH的示例分析,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
go,邊寫邊嘗試,在導(dǎo)入包那塊,需要注意的小點還不少,特此總結(jié)。
首先給出一份我實踐成功的案例,然后再總結(jié)注意的點.
go version go1.16.2 darwin/amd64
目錄結(jié)構(gòu)
main.go
package main import testPackage "test" func main() { testPackage.Test() }
TestPackage.go
package testPackage import "fmt" func Test () { fmt.Println("test_success") }
我的GOPATH設(shè)置的是到go_practice這一層。
關(guān)于GOPATH,我參考了這篇文章。http://c.biancheng.net/view/88.html
快速查看可以使用命令(macOS和linux)
go env | grep GOPATH
我使用的是GoLand,就沒有去修改env。 GoLand可以直接設(shè)置當(dāng)前項目的GOPATH,支持多個。
可以分別設(shè)置全局和當(dāng)前項目。
GOPATH之外,還需要注意:
import后面,雙引號中的,其實是包所在的文件夾名稱(可以直接引用GOPATH目錄下src下的文件夾),而非文件中定義的package名(package testPackage)。
雙引號前邊的是自定的名字,也不必須是package名,例如我將main文件改為"haha",也一樣可以成功:
package main import haha "test" func main() { haha.Test() }
所以其實文件中的package定義的包名,只是需要同一個文件夾下所有文件保持一致,包名和文件夾名稱并不是強制要求統(tǒng)一的。
不過統(tǒng)一起來會更方便,可以直接通過包名調(diào)用方法,不再需要起別名。
package main import "test" func main() { test.Test() }
package test import "fmt" func Test () { fmt.Println("test_success") }
另外,GoLand是可以自動補全的。像這樣
被導(dǎo)入的包的函數(shù)名首字母大寫才能被外部調(diào)用(public聲明)。
以上就是GO導(dǎo)入包報錯以及GoLand設(shè)置GOPATH的示例分析,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(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)容。