首頁 > 後端開發 > Golang > 主體

如何在 Go 中建立包

Patricia Arquette
發布: 2024-10-05 12:07:02
原創
605 人瀏覽過

出於可重複使用的目的,套件是管理 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 。結構應該是這樣的

How To Create Package in 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!