这下开始折腾gin咯。gin是go上的一个轻量高效的web框架,有必要学习~

开始

环境是很强的梯子环境,然后这样就可以省的配置什么中国特色环境了。
上来先引入依赖吧

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

官方的例子

func main() {
	r := gin.Default()  //实例化一个gin对象server

// /ping是一个url,然后 func(c *gin.Context)是它的处理函数
//函数的参数必须是gin的context,指针类型
	r.GET("/ping", func(c *gin.Context) {  
        //http.StatusOK用的net/http库,一般不用200之类写死
        //gin.H 其实是map的别名    type H map[string]any  key是string,value就是任意类型

		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})
	r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

进行修改,主要是把函数提出来

func pong(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{
		"message": "pong",
	})

}

func main() {
	r := gin.Default()
	r.GET("/ping", pong)
	r.Run(":8083") 
    // 默认listen and serve on 0.0.0.0:8080 (for windows "localhost:8080"),但是可以":port"改成自定义端口
}

进行对函数pong修改,替换掉gin.H

func pong1(c *gin.Context) {
	c.JSON(http.StatusOK,map[string]string{
		"message": "pong",
	})
}

就是gin.H可以换成 map[string]string 反正都是map。不过这个太常用,肯定就直接gin.H多方便,为简洁而生嘛

跑起来

在浏览器 http://127.0.0.1:8083/ping下出现
{"message":"pong"}