您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關GO導入包報錯以及GoLand設置GOPATH的示例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
go,邊寫邊嘗試,在導入包那塊,需要注意的小點還不少,特此總結。
首先給出一份我實踐成功的案例,然后再總結注意的點.
go version go1.16.2 darwin/amd64
目錄結構
main.go
package main import testPackage "test" func main() { testPackage.Test() }
TestPackage.go
package testPackage import "fmt" func Test () { fmt.Println("test_success") }
我的GOPATH設置的是到go_practice這一層。
關于GOPATH,我參考了這篇文章。http://c.biancheng.net/view/88.html
快速查看可以使用命令(macOS和linux)
go env | grep GOPATH
我使用的是GoLand,就沒有去修改env。 GoLand可以直接設置當前項目的GOPATH,支持多個。
可以分別設置全局和當前項目。
GOPATH之外,還需要注意:
import后面,雙引號中的,其實是包所在的文件夾名稱(可以直接引用GOPATH目錄下src下的文件夾),而非文件中定義的package名(package testPackage)。
雙引號前邊的是自定的名字,也不必須是package名,例如我將main文件改為"haha",也一樣可以成功:
package main import haha "test" func main() { haha.Test() }
所以其實文件中的package定義的包名,只是需要同一個文件夾下所有文件保持一致,包名和文件夾名稱并不是強制要求統一的。
不過統一起來會更方便,可以直接通過包名調用方法,不再需要起別名。
package main import "test" func main() { test.Test() }
package test import "fmt" func Test () { fmt.Println("test_success") }
另外,GoLand是可以自動補全的。像這樣
被導入的包的函數名首字母大寫才能被外部調用(public聲明)。
以上就是GO導入包報錯以及GoLand設置GOPATH的示例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。