上一篇我们介绍了 Go 的网路操作套件 net/http,那就不能错过 Go 的网页框架(framework)套件 gin,因为要架设一个网站,还是需要考虑到很多情境,例如 request 的资料验证,middleware、response 的格式,这时就很需要框架来做一个辅助。
而为何使用 gin,Go语言又不是只有一种网页 framework,我们简单看个表格:
(图片来源:https://www.mindinventory.com/blog/top-web-frameworks-for-development-golang/)
这里大概整理了一下 gin 的优点:
所以大家使用率最高,效能又前几,你能不用吗,你必须说用,不然我没办法往下说了XD!
今天终於要介绍第三方套件了,gin 是在 github 上的套件,而下载套件的方法不只一种,但今天介绍大家最常用的 go get:
$ go get github.com/gin-gonic/gin
如此一来,即可安装套件到 GOPATH 的目录下,所有的专案都可以使用该套件。
这里直接带一个范例:
package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
gin.SetMode(gin.DebugMode)
apiServer := gin.Default()
apiServer.GET("/ping", Ping)
apiServer.GET("/ready", Ready)
err := apiServer.Run(":8787" )
if err != nil {
fmt.Println("health check:", err)
}
}
//Ping health check
func Ready(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"status": "UP",
})
}
func Ping(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "PONG",
})
}
这是一个很简单的范例,我们写了两个函式 Ready 和 Ping,这是一个很基本的 health check 套路,回传是以 Json 格式为主,若程序正常运行,则打到网页会是回传函式内的内容。在来你要确保 port 是没有其他程序占据的,在运行程序後,你就可以打开自己的浏览器:
结果会是呈现这样,如此一来,你就学会使用 gin 框架架设自己的网站了。
今天介绍了 Go 语言的 framwork 套件 gin,其实你也不需要框架,即可以架设自己的网站,只是框架提供了许多方便性,可以大大的提升开发的速度。希望今天的介绍对你有帮助,谢谢今天的阅读!
<<: JavaScript Day 22. Hoisting
>>: Day31. Rails 搜寻的强大帮手 - Ransack
今天介绍的这篇,是很明显的天气IoT实例应用,作者将天气Sensor收集来要资料,用Logstash...
建构子 建构子(constructor)是一种初始化类别物件的成员函式,每一种类别都有一个建构子,当...
记得在KiKi吃到苍蝇头,让不爱吃韭菜的我也是搭着白饭一口接一口,而且苍蝇头做法简单材料单纯,只要韭...
“I am a cage, in search of a bird.” ― Franz Kafka...
影片重点 以 Tailwind 来讲解如何达到容器与内容分离 Codepen Demo 示范流程 ...