Golang
Gin初探
網路上都有golang的各種框架,也不乏各式各樣的比較文 ,我原本是選好要用另外一套的,但看了某些論壇文章的下面留言,都建議還是使用gin比較好,所以還是選擇玩看看gin囉~~~ 就當體驗看看 絕對不吃虧
Gin有什麼好處:
開始吧!! 首先起手來個go get, 使用go get 來安裝gin看看
在終端機輸入
github.com/gin-gonic/gin
執行完之後,我們來測試看看gin是不是真的能跑
我就在網路上找了一個範例
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run(":8000")
}
然後 go run來跑看看
畫面看起來是有了!
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET /ping --> main.main.func1 (3 handlers)
[GIN-debug] Listening and serving HTTP on :8000
[GIN] *********** | 404 | 0s | ::1 | GET "/"
[GIN] ***********| 404 | 0s | ::1 | GET "/favicon.ico"
[GIN] *********** | 404 | 0s | ::1 | GET "/"
[GIN] ***********| 200 | 311.3µs | ::1 | GET "/ping"
然後看終端機也確實吐了一些東西了!!!
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main(){
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello World")
})
router.Run(":8000")
}
從上面的程式碼來看,我們使用gin的default來建立一個基礎的路由,並把路由的規則跟function都透過他來取得,跟以往的框架差不多,通常這時候框架都會協助封裝,以方便開發者使用,所以我們可以看到gin.Context的部分,Route.run是啟動整個路由來開始為監聽。
然後附上gin 的github連結 https://github.com/gin-gonic/gin
參考資料:
https://iter01.com/557699.html
https://github.com/gin-gonic/gin