日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go的包管理学习

發布時間:2025/4/17 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go的包管理学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

go如何使用自己寫的包?

1.goroot

go分兩個重要的路徑,GOROOT和GOPATH
GOROOT路徑指的是go安裝的位置,包含go的編譯器相關的文檔,一般來說只需要配個環境變量就不需要考慮了。

2.gopath

GOPATH指的是工作目錄。在windows平臺上,默認的位置是C:\Users\用戶名\go。
gopath是干嘛的呢,就是所有的go項目應該都在gopath路徑下。

gopath目錄下必須又一個src文件夾,所有的項目都在這個src文件夾下,當編譯項目時,還會生成pkg文件夾和bin文件夾,bin文件夾生成編譯后的exe文件,pkg文件夾打包了exe文件所需的包,存儲預編譯的目標文件,以加快程序的后續編譯速度。

項目:一個項目會包含很多個文件和目錄,目錄下又有目錄和文件,項目路徑指的是包含所有這些文件和目錄的目錄路徑。
比如在c盤新建一個目錄projectA,然后在projectA下新建一個main.go文件,再新建一個目錄controller,controller目錄下又新建controller.go。那么c://projectA就是項目路徑。所以gopath路徑下不僅包含bin、pkg、src目錄,還有所有go項目的包文件。這些包文件很容易造成混亂,比如兩個不同的版本沖突。

在舊的go里,不推薦在c盤下建立新項目,新項目最好在gopath路徑下,當然,gopath路徑可以設置成很多個。

在一個go項目中,也不能隨便建立目錄,首先,在gopath下新建一個src目錄,代碼全部都要放在src目錄下。比如以上的例子projectA下不能直接新建main.go文件,必須創建一個src目錄,然后在src目錄下新建main.go。項目下載的依賴包都會下載到giopath目錄下,

一個日常的test項目的結構如下:

那么main.go要如何調用config.go中的函數呢?

  • test在gopath目錄下
  • main.go導入config.go所在的目錄名,也就是路徑。注意是目錄名,不是文件名(如果工程目錄不在gopath目錄下就找不到這個目錄)。如下:

    3.根據 包名.函數名 調用函數。假設config.go下有一個函數funcTest()。如何在main.go中調用這個函數呢?首先查看config.go所屬的包,也就是第一含的package xxx(建議跟所屬的目錄名一樣,但是可以不一樣),假設是package myconfig,在main中就得寫出myconfig.funcTest().
  • go的找包原理:

    首先會去找gopath路徑,然后在gopath路徑下找src目錄,最后在src目錄下尋找import中指定的路徑。所以說,要導入一個包,必須從項目名開始寫起,直到包的目錄。
    參考:Go項目的目錄結構

    go在打包時打包的路徑為main.go所在的目錄名

    go的導包也太過麻煩了,所以現在由另外的導包方式,一是根據相對路徑找包。第二就是go modules了。這個還沒時間研究,搞不懂。
    參考:
    Go Modules 詳解
    關于Go Modules,看這一篇文章就夠了

    總結

    以上是生活随笔為你收集整理的go的包管理学习的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。