iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
自我挑戰組

和地鼠做30天好朋友系列 第 6

結合其他強大的地鼠,我要成為地鼠之王

  • 分享至 

  • xImage
  •  

可是,地鼠之王...還是地鼠

今天來分享昨天稍微提到的go mod init指令,以下幾句有些是ChatGPT幫我想的、有些是我的文字,看大家能分辨多少...

go mod 是 Go 1.11 版本引入的官方相依關係管理工具。它的主要功能是幫助你追蹤和管理你的專案所需的外部庫,並確保它們的版本是一致的。總之,讓我們直接 Show you Codes...

go mod init {package_name}

package_name 通常是你的檔案路徑,以我把專案放上去github.com的慣例來說,通常會取 github.com/user/repo 之類的...

然後你會看到執行後有個神奇檔案出現:go.mod

添加相依庫
一旦你看到go.mod後,你就可以使用 go get 命令來添加相依庫。
例如,要添加一個名為 github.com/gorilla/mux 的相依庫,你可以執行以下命令:

go get github.com/gorilla/mux

這將下載並安裝相依庫,並更新 go.mod 文件以反映相依關係...另外還會看到一個go.sum的特別檔案...這是因為那是外來package, 開發者可能隨時都會更新,所以要用「go.sum」去處理確保下載的相依庫的完整性和安全性的部分,它還可以幫助確保相依庫的版本不會在未來自動更新,從而確保穩定性。

如果你寫過其他語言,你會發現這個機制很像 php 的composer.json/composer.lock和 nodejs 的package.json / package.lock...

PS: 你還可以用go get -u ,他的作用是用於更新所有相依庫到最新版本。

那麼你一定很好奇,go get到底做了什麼...因為composer installnpm install都會生成對應的資料夾,例如vendor或者node_modules...go get之後的套件跑到哪裡去了...

以我環境為macos來說,他會跑到~/go/pkg/mod這裡,以便後續程式調用。

好了,你覺得那些是ChatGPT、哪些是我寫的 哈哈哈


上一篇
地鼠,來測試吧
下一篇
地鼠愛文件
系列文
和地鼠做30天好朋友12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言