自定義包的分為兩種:
1.同目錄下的包;
2.不同目錄下的包;
*經測試,同目錄下是不可以用不同包的文件的
同目錄下的包:
不同文件中的變量和函數都可以直接訪問
不同目錄下的包:
1.把要在自定義包外部使用的變量或者函數的首字母改為大寫!!!,這樣外部可以訪問他們;
2.如果項目目錄不在GOPATH環境變量設置的路徑里,需要把項目移到GOPATH路徑里,或者GOPATH中把項目路徑設置進去;(GOPATH可設置多個)
如圖,我配置了我這個項目要用的GOPATH:
3.import 時,比如現在我要使用DBHandler這個包,只需要在main.go的import中寫上 "./DBHandler" 就導入成功了;
DBHandler包在文件管理器中的位置,如圖所示:
4.開始使用自定義包中的函數,需要注明包名,然后需要在包外部訪問的函數和變量都要以大寫開頭,如圖所示(左為main.go,右為DBHandler包中的內容):
5.構建和安裝你的自定義包,如圖所示,在src目錄下,也就是DBHandler包所在目錄打開終端運行go build+包名 和 go install+包名,如果沒有報錯就說明構建和安裝成功了:
6.查看自定義包的.a生成文件,如圖所示:
關於import,有以下注意事項:
(1)在使用第三方包的時候,當源碼和.a均已安裝的情況下,編譯器鏈接的是源碼。
(2)到這里我們明白了所謂的使用第三方包源碼,實際上是鏈接了以該最新源碼編譯的臨時目錄下的.a文件而已。
(3)import后面的最后一個元素應該是路徑,就是目錄,並非包名。
感謝以下文章的作者:
http://www.golangtc.com/t/555464c2421aa9519000005e
http://www.kuqin.com/shuoit/20150310/345120.html
轉載請注明出處:http://www.cnblogs.com/ficow/p/6537363.html,謝謝!