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窗口中執行如下命令:

go mod init
# 使用 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的路由功能。

        本章代碼地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM