當我開始用 Go 程式設計時,我已經在 C 方面打下了良好的基礎,這是我的第一個程式語言。這對我幫助很大,因為 Go 與 C 有很多共同點——從簡單性到表現。更少的關鍵字、更低的複雜性以及更平滑的學習曲線。但接下來的部分讓我有點迷失:套件、模組和 go mod.
之類的東西我記得我在想:「我只想編譯一個簡單的程序,為什麼我需要擔心包?」那麼模組呢?它們似乎憑空出現,每個人都說它們對於管理依賴關係至關重要。但別擔心,我會以簡單的方式為那些已經編程但尚未掌握 Go 中這些內容的人解釋所有內容。
首先,Go 中包的概念與您在 C 中看到的非常相似。將套件視為組織和重複使用程式碼的一種方式。在 C 中,當您將函數分成 .h 和 .c 檔案時,在 Go 中您會執行類似的操作,但使用套件。每個包都會將功能分組,並允許您匯入程式碼其他部分所需的內容。
例如,您可以將它們分成包,而不是將所有函數放入一個文件中:
package main import "fmt" func main() { fmt.Println("Hello, Go!") }
這裡,fmt 是一個標準函式庫包,負責 I/O 格式化。導入時,您可以存取其功能。並且您可以用相同的方式創建自己的包,使程式碼維護和組織更容易。
現在,模組部分。這就是事情變得有趣的地方。如果套件就像 C 中的函式庫,那麼模組就像管理所有這些的「超級套件」。它們允許您的專案以有組織且安全的方式輕鬆下載和使用第三方軟體包。
go mod 是幫助您配置專案以使用這些模組的命令。當您使用 go mod init 啟動一個新專案時,您實際上正在建立一個 Go 將用來管理依賴項的配置。這意味著它將自動下載您的專案所需的套件(無需像在 C 中那樣手動下載)。
例如:
go mod init meu-projeto go get github.com/pacote/fantastico
透過這些命令,Go 會建立 go.mod 文件,該文件儲存有關專案依賴項的資訊。然後,當您執行 go build 時,Go 會直接從網路下載編譯所需的所有內容,而您無需擔心。
當您將程式碼組織到套件中並使用模組來管理依賴項時,Go 會變得更有效率。一開始它可能看起來令人困惑(我也沒有立即理解它),但是一旦掌握了它,您就會意識到包和模組使您的程式碼更具可擴展性和更簡潔。一切都進展得更好,尤其是在大型專案中。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3