Go 使用自定義包(package)


 

自定義包的分為兩種:

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://xiaorui.cc/2016/03/13/%E5%85%B3%E4%BA%8Egolang-package%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8C%85%E7%BB%93%E6%9E%84/

http://www.golangtc.com/t/555464c2421aa9519000005e

http://www.kuqin.com/shuoit/20150310/345120.html

 

 


 

轉載請注明出處http://www.cnblogs.com/ficow/p/6537363.html,謝謝!


免責聲明!

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



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