首頁 >後端開發 >Golang >golang專案如何搭建

golang專案如何搭建

PHPz
PHPz原創
2023-04-05 10:29:051591瀏覽

近年來,隨著網路的快速發展,程式設計已經成為了一個體面而又高薪的職業。而在程式語言的選取上,越來越多的人選擇了Golang。那麼,在專案中,如何搭建一個高效率、穩定的Golang框架呢?本文將為你提供全方位的解決方案。

一、環境搭建

首先,要搭建Golang框架,你得先安裝Golang語言環境。在官網上下載最新版本的Golang,並依照指示安裝即可。

安裝完成後,建議在系統環境變數中加入%GOPATH%;接著,為了方便管理項目,我們還需要安裝一個套件管理器-Glide。你可以在終端機中輸入以下指令:

curl https://glide.sh/get | sh

二、目錄結構建構

在環境建置完成之後,我們需要先確定專案的目錄結構。一個清晰、有序的目錄結構是一個項目的靈魂。建議使用以下的目錄結構:

- Project
    - bin
    - pkg
    - src
        - 项目1
            - main.go
            - 其他.go
        - 项目2
            - main.go
            - 其他.go
        - 项目3
            - main.go
            - 其他.go
    - README.md

其中,bin目錄存放程式可執行檔;pkg目錄存放編譯完成後的庫檔案;src目錄存放專案的原始程式碼;README.md為整個專案的說明文件.

三、框架搭建

接下來,我們將開始搭建Golang框架。在搭建框架前,需要了解以下內容:

  1. Golang框架通常採用MVC(Model-View-Controller)模式進行組織;
  2. 程式碼要簡潔易懂,實現高效;
  3. 程式碼註解不能少,規範程度要高。

在此我們推薦使用Gin框架和gorm作為專案的主要框架和ORM模型。 Gin框架是一個輕量級的Web框架,而gorm是Golang的一個ORM框架,提供了強大的資料庫操作功能。接下來,我們將具體介紹如何使用這兩個框架來建立一個Golang專案。

  1. 安裝Gin和gorm

在終端機中輸入以下命令,即可安裝Gin和gorm:

go get -u github.com/gin-gonic/gin
go get -u github.com/jinzhu/gorm
  1. 寫入設定文件

在專案的根目錄下新建一個config.yaml的檔案。這個文件中存放了項目的各種設定參數。例如,可以在此檔案中新增以下內容:

ProjectName: "DemoProject"
ListenAddr: ":8080"
DebugMode: true
Database:
    Type: "mysql"
    Host: "localhost"
    Port: 3306
    User: "root"
    Password: "password"
    Name: "database_name"

其中,ProjectName表示項目名稱;ListenAddr表示監聽位址;DebugMode表示偵錯模式是否開啟;Database表示資料庫相關的配置。

  1. 寫main函數

在專案的src目錄下新建main.go文件,寫如下程式碼:

package main

import (
    "fmt"
    "{{.ImportPath}}/routers"
)

func main() {
    router := routers.InitRouter()
    port := config.ListenAddr
    fmt.Printf("Server listening on %s\n", port)
    router.Run(port)
}

其中,. ImportPath表示項目的導入路徑。 routers包是存放路由配置的地方。

  1. 設定路由

在src目錄下新建一個routers資料夾,新建一個router.go的檔案。這個檔案中,將定義路由的設定資訊。程式碼如下:

package routers

import (
    "net/http"

    "github.com/gin-gonic/gin"
    "{{.ImportPath}}/controllers"
)

func InitRouter() *gin.Engine {
    r := gin.Default()

    userCtl := controllers.NewUserController()

    r.GET("/", func(c *gin.Context) {
        c.String(http.StatusOK, "Welcome to the home page!")
    })

    r.POST("/users", userCtl.Create)

    return r
}

其中,‘/’路由將傳回字串「Welcome to the home page!」;‘/users’路由是一個POST路由,用於建立新使用者。

  1. 寫Model和Controller

在src目錄下新建一個modules資料夾,新建一個user.go文件,用來表示使用者的資料模型。程式碼如下:

package modules

type User struct {
    ID   uint   `gorm:"primary_key" json:"-"`
    Name string `gorm:"size:256;not null" json:"name"`
}

在src目錄下新建一個controllers資料夾,新建一個user.go文件,用於實作使用者相關的控制器。程式碼如下:

package controllers

import (
    "net/http"

    "github.com/gin-gonic/gin"

    "{{.ImportPath}}/modules"
)

type UserController struct{}

func NewUserController() *UserController {
    return &UserController{}
}

func (uc *UserController) Create(c *gin.Context) {
    var user modules.User
    if err := c.BindJSON(&user); err != nil {
        c.String(http.StatusBadRequest, "Invalid request payload")
        return
    }

    db.Create(&user)

    c.JSON(http.StatusCreated, gin.H{"status": http.StatusCreated, "message": "User created successfully", "resourceId": user.ID})
}

UserController是使用者控制器,Create函數用於新增使用者模型。

  1. 進行編譯

最後,使用glide來管理依賴套件。執行以下命令:

glide install

接著,進入專案的主目錄,執行以下命令:

go build

即可完成整個專案的編譯。

四、總結

本文為你介紹如何搭建一個Golang專案。首先,我們需要搭建Golang的環境,並確定好專案的目錄結構。我們推薦使用Gin和gorm兩個框架作為主要的Web框架和ORM框架。最後,我們從建立路由、寫入Model和Controller和進行編譯幾個面向詳細介紹如何建立一個Golang專案。希望本文對你有幫助。

以上是golang專案如何搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn