Go语言网络编程入门不走弯路最佳案例(写Api接口)
Go语言是Google领导开发的一门编程语言,国内可访问的官网
image-20201213123438844 image-20201213123438844
image-20201213123438844
只要选对了框架,用Go语言完成网络编程会变得非常容易,目前Github Star数量最多的Go语言的框架为gin, 开源地址 github.com/gin-gonic/gin ,并且提供了中文文档
写一个最简单的Get接口
// 获取路由 r := gin.Default() // 最简单的回应 http://127.0.0.1:8080/ping r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong(最简单的回应)", }) })
image-20201213122245906 image-20201213122245906
image-20201213122245906
写一个鹦鹉学舌式的小程序
// GET版 鹦鹉学舌 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": "响应鹦鹉学舌", "data": data, }) })
image-20201213122441082 image-20201213122441082
image-20201213122441082
写一个响应POST 请求的接口
// POST版鹦鹉学舌 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": "返回电影名称和评分", "data": data, }) })
image-20201213122620459 image-20201213122620459
image-20201213122620459
以上实例完整代码
使用之前请先运行 go get github.com/gin-gonic/gin 安装依赖包
package main import ( "github.com/gin-gonic/gin" "fmt" ) func main() { // 获取路由 r := gin.Default() // 最简单的回应 http://127.0.0.1:8080/ping r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong(最简单的回应)", }) }) // GET版 鹦鹉学舌 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": "响应鹦鹉学舌", "data": data, }) }) // POST版鹦鹉学舌 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": "返回电影名称和评分", "data": data, }) }) r.Run() // 监听并在 0.0.0.0:8080 上启动服务 }
Go语言编译器安装教程
小结
Go语言是Google主导开发的语言,拥有C++级别的性能,Python级别的易用度,如果你想写性能极高的程序, 又想保护发际线, 避开C++ , 那Go语言值得一学~
上一篇:
Java架构师技术进阶路线图
下一篇:
MySQL substr函数使用详解