您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹golang中導入包的方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
import
Go 使用包(package)作為基本單元來組織源代碼,所有語法可見性均定義在 package 這個級別。同一 package 下面,可以有非常多的不同文件,只要每個文件屬于相同的 package name。
每個源碼文件的第一行必定要通過如下語法定義屬于哪個 package,
package xxx
然后就是導入本源碼文件所使用的標準包或第三方包,即
import ( "a/b/c" "fmt" )
標準庫會從 GO 的安裝目錄下查找,第三方庫會從開發者定義的 $GOPATH
下查找。當都找不到時,編譯器就會報錯。在使用第三方包的時候,當源碼和 .a 均已安裝的情況下,編譯器鏈接的是源碼。
注意: 上面語句中 a/b/c 最后的 c 為目錄名,不是 package name。
在對文件中的方法進行調用時,使用如下格式:
package.Methodxxx()
同一文件夾下的多個文件的 package 一般定義為該文件夾的名字,但是也有例外,比如上面的栗子中,c 文件下的所有文件的 package 定義為 fux,那么在調用這個文件夾下文件的方法時,只能使用 fux.Methodxxx()
,而不是 c..Methodxxx()
一個非main包在編譯后會生成一個.a文件(在臨時目錄下生成,除非使用go install安裝到 $GOROOT
或 $GOPATH
下,否則你看不到 .a),用于后續可執行程序鏈接使用。
vendor
Go 在 1.5 的版本加入的 vendor 的支持來做包管理。1.5 版本要設置 GO15VENDOREXPERIMENT="1"
來支持這個特性,1.6版本將其作為默認參數配置。下面對于包含 vendor 目錄的包導入路徑規則大致如下。
├── d ├── mypkg | └── main.go └── vendor └── q ├── q.go
當上述目錄結構,在 main.go 中 import q時,后首先從 vendor 目錄下查找,若找不到,會從 $GOPATH 目錄下查找,再找不到的話,編譯器就報錯了。
看完這篇文章,你們學會golang中導入包的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。