Go語(yǔ)言是Google領(lǐng)導開(kāi)發(fā)的一門(mén)編程語(yǔ)言,國內可訪(fǎng)問(wèn)的官網(wǎng) https://golang.google.cn/
只要選對了框架,用Go語(yǔ)言完成網(wǎng)絡(luò )編程會(huì )變得非常容易,目前Github Star數量最多的Go語(yǔ)言的框架為gin, 開(kāi)源地址 github.com/gin-gonic/gin ,并且提供了中文文檔 https://gin-gonic.com/zh-cn/docs/
// 獲取路由
r := gin.Default()
// 最簡(jiǎn)單的回應 http://127.0.0.1:8080/ping
r.GET('/ping', func(c *gin.Context) {
c.JSON(200, gin.H{
'message': 'pong(最簡(jiǎn)單的回應)',
})
})
// GET版 鸚鵡學(xué)舌 http://127.0.0.1:8080/message?name=dd
r.GET('/message', func(c *gin.Context){
name := c.Query('name');
data := map[string]interface{}{
'name': name,
}
c.JSON(200, gin.H{
'status': 1000,
'message': '響應鸚鵡學(xué)舌',
'data': data,
})
})
// POST版鸚鵡學(xué)舌 http://127.0.0.1:8080/movie
type Info struct {
Name string `json:'name'`
Score int `json:'score'`
}
r.POST('/movie', func(c *gin.Context){
// 以Info為模板初始化data
var data Info
// 將請求參數綁定到data
c.BindJSON(&data);
c.JSON(200, gin.H{
'status': 1000,
'message': '返回電影名稱(chēng)和評分',
'data': data,
})
})
使用之前請先運行 go get github.com/gin-gonic/gin 安裝依賴(lài)包
package main
import (
'github.com/gin-gonic/gin'
'fmt'
)
func main() {
// 獲取路由
r := gin.Default()
// 最簡(jiǎn)單的回應 http://127.0.0.1:8080/ping
r.GET('/ping', func(c *gin.Context) {
c.JSON(200, gin.H{
'message': 'pong(最簡(jiǎn)單的回應)',
})
})
// GET版 鸚鵡學(xué)舌 http://127.0.0.1:8080/message?name=dd
r.GET('/message', func(c *gin.Context){
name := c.Query('name');
data := map[string]interface{}{
'name': name,
}
c.JSON(200, gin.H{
'status': 1000,
'message': '響應鸚鵡學(xué)舌',
'data': data,
})
})
// POST版鸚鵡學(xué)舌 http://127.0.0.1:8080/movie
type Info struct {
Name string `json:'name'`
Score int `json:'score'`
}
r.POST('/movie', func(c *gin.Context){
// 以Info為模板初始化data
var data Info
// 將請求參數綁定到data
c.BindJSON(&data);
fmt.Println('=data=>>',data);
c.JSON(200, gin.H{
'status': 1000,
'message': '返回電影名稱(chēng)和評分',
'data': data,
})
})
r.Run() // 監聽(tīng)并在 0.0.0.0:8080 上啟動(dòng)服務(wù)
}
https://www.runoob.com/go/go-environment.html
Go語(yǔ)言是Google主導開(kāi)發(fā)的語(yǔ)言,擁有C++級別的性能,Python級別的易用度,如果你想寫(xiě)性能極高的程序, 又想保護發(fā)際線(xiàn), 避開(kāi)C++ , 那Go語(yǔ)言值得一學(xué)~
聯(lián)系客服