1. 程式人生 > >Gin + Vue全棧開發實戰(一)

Gin + Vue全棧開發實戰(一)

Gin入門

 

本章概要

  • Gin簡介
  • 開發第一個Gin程式

 

1.1 Gin簡介

        Gin是用Go語言編寫的一個輕量級Web應用框架,現在在各個公司包括位元組跳動、bilibili等大網際網路公司都得到了廣泛的應用。它有很好的效能和更快的路由。由於其本身只是在官方 net/http 包的基礎上做的完善,所以理解和上手很平滑。優雅的封裝,友好的API,明確的註釋。如果你們打算Go語言來構建一個Web應用,我非常推薦你使用它。總體來說,Gin的主要有如下優勢:

  • 極其優秀的效能表現
  • 擁有 Go 的程式設計思想
  • 基於官方 net/http 包的有限封裝
  • 使用了史上最快的路由 httprouter
  • 方便、靈活的中介軟體
  • 強大的資料繫結
  • 活躍的開發者

        Gin和Go語言一樣,是一個“年輕”的專案,發展非常迅速,使用者越來越多。非常適用於大小公司的線上環境執行。

 

1.2 開發第一個Gin程式

        Go經過多年的演進,也產生了很多的依賴管理工作,包括dep,govendor等,在Go11版本後建議大家使用Go Modules來進行依賴管理。

1.2.1 建立Go Modules工程

這裡不過多說明Go Modules的介紹,只介紹兩種建立Go Modules工程的方式。

1. 使用命令列建立Go Modules工程

首先可以通過go mod命令建立一個Go Modules工程,在cmd視窗中執行如下命令:

1 go mod init
2 # 使用 go help mod 可以瞭解更多關於這個工具的使用。

使用命令列建立後,直接使用GoLand開啟即可。

2. 使用GoLand建立Go Modules工程

GoLand作為與Intellij IDEA同屬JetBrains公司出品的編碼工具,在業界得到了廣泛的應用。使用GoLand建立Go Modules的步驟如下:

步驟一:建立專案時選擇Go Modules,然後按照需要選擇專案存放的位置和命名好專案名稱即可。

 

在國內,我們可以使用https://athens.azurefd.net/作為代理,以免下載不到被牆的官方依賴包。

 

1.2.2 專案構建

1.新增依賴 (可選)

在對應專案目錄的go.mod檔案中新增Gin依賴:

 require github.com/gin-gonic/gin v1.4.0
2.編寫啟動類

接下來建立專案的入口檔案,在專案根目錄(與go.mod同級目錄)建立一個main.go檔案,程式碼如下:

package main

import (
"github.com/gin-gonic/gin"
"net/http"
)

func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "hello gin!")
})
r.Run() // listen and serve on 0.0.0.0:8080
}

為什麼說第一步是可選的呢?是因為如果你敲入程式碼,程式碼中又有對應依賴引入(import),在執行啟動命令時會自動幫你下載需要的依賴。非常智慧,而IDE也會做同樣的事情。

1.2.3 專案啟動

啟動專案有三種不同的方式,下面一一介紹。

1.使用命令列啟動

可以直接到相關目錄使用命令列啟動專案,命令如下:

go run main.go
或
go run .

 

 

啟動成功後,在瀏覽器位址列輸入 “http://localhost:8080/hello" 即可看到執行結果,執行結果如圖1-5所示。

2.直接執行main方法

直接在IDE中執行main方法,就可以看到專案啟動了,如圖1-5所示。

圖1-5

啟動成功後,也可以在瀏覽器中直接訪問/hello介面。

 

3.打包啟動

當然,Go應用也可以直接打成目標檔案執行,在不同的環境中可以編譯打成不同的包,在windows環境是.exe檔案,直接執行編譯打包命令:

go build main.go go build .

打包完成後可以直接執行可執行檔案即可,如圖1-7所示

                                                                 圖1-7

 

1.3 小結

        本章主要向讀者介紹了一個簡單的Gin專案的基本建立過程,從而讓讀者感受Gin的魅力。當一個Gin專案建立成功後,只需要少量的程式碼就可以啟動一個性能非常好的Web應用,開發者可以直接使用它進行介面和Web應用的開發。第2章向讀者詳細介紹一下Gin的路由功能。

        本章程式碼地址