出於可重複使用的目的,套件是管理 Go 程式碼的良好開端,因為我們可以將其匯入並使用到我們的程式中。
讓我們先建立一個簡單的主檔案
package main import "fmt" func main() { fmt.Println("hello world!") }
這是一個簡單的 hello world 程序,當我們執行 go run main.go 時,它會列印出 hello world 字串。
現在讓我們先建立模組來啟動一個套件。通常它使用 git 儲存庫,即使我們沒有計劃將其推送到任何儲存庫。在此範例中,我將使用我自己的 Github 儲存庫並使用 mygopackage 作為套件名稱。
git mod init github.com/didikz/mygopackage
然後建立一個子目錄,例如我使用 models 並在其中建立一個 user.go 。結構應該是這樣的
在 user.go 內部,我將簡單地建立一個結構體和一個接收器,稍後可以將其匯入到 main.go 中。我還將當前目錄名稱後面的套件名稱設為 models
package models type User struct { Id int FirstName string LastName string Address string } func (user *User) GetName() string { return user.FirstName + " " + user.LastName }
回到main.go,現在我們可以嘗試匯入套件並使用定義的結構。使用之前啟動的模組名稱和套件名稱。
import "github.com/didikz/mygopackage/models"
現在要使用套件中的使用者模型,我們可以這樣寫
var user models.User user.Id = 1 user.FirstName = "Didik" user.LastName = "Tri Susanto" user.Address = "Malang" // or alternatively user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName())
一切就緒。接下來,如果我們執行 go run main.go 那麼它應該要印出 Didik Tri Susanto
簡單吧?
最終的 main.go 檔案現在應該是這樣的
package main import ( "fmt" "github.com/didikz/mygopackage/models" ) func main() { user := models.User{Id: 1, FirstName: "Didik", LastName: "Tri Susanto", Address: "Malang"} fmt.Println(user.GetName()) }
就是這樣,祝您編碼愉快!
以上是如何在 Go 中建立包的詳細內容。更多資訊請關注PHP中文網其他相關文章!