go語言包與包引用


go語言中包(package)與java中的包(package)非常類似,都是組織代碼的方式,而且都和磁盤上的目錄結構存在對應關系。

 

go語言中,包名一般為go代碼所在的目錄名,但是與java不同的是,go語言中包名只有一級,而在java中包名是以點分割的多級目錄組合的。

 

go語言中,引用包時需要以GOPATH/src目錄為相對根目錄,依次輸入下面的各級目錄名。

如:環境變量GOPATH = ~/go

包hello下有hello.go,包所在的磁盤路徑為:

~/go/src/golang_everyday/hello

也就是說,hello.go的路徑為:

~/go/src/golang_everyday/hello/hello.go

 

則在其它文件中引用該go文件時,代碼應為:

import "golang_everyday/hello"

如果存在多個GOPATH,編譯時,go會挨着去每個GOPATH的src下找,直到找到為止。

 

main是一個特殊的package名字,類似Java的main函數,GO的可執行程序必須在main package下,main包所在的文件夾一般都不叫main。

 

在同一個package里,多個文件被go編譯器看作是一個文件一樣,因此,這多個文件中不能出現相同的全局變量和函數,一個例外是init函數;而同一個package的不同文件可以直接引用相互之間的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM