gin

axing
2025-12-11 / 0 评论 / 2 阅读 / 正在检测是否收录...
package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    // 创建一个默认的路由引擎
    r := gin.Default()

    // 注册一个GET 路由: 访问/ping 返回JSON
    r.GET("/ping", func(c *gin.Context) {
        //c.JSON(200, map[string]interface{}{
        //    "message": "pong",
        //})
        // 上面的写法等同于下面的
        c.JSON(http.StatusOK, gin.H{
            "message": "pong",
        })
    })

    // /hello?name=Tom
    r.GET("/hello", func(c *gin.Context) {
// ? 后面的叫 查询参数(Query String):
//name 是参数名
//Tom 是参数值
//如果是 /hello?name=Tom&age=18:
//name → Tom
//age → 18
//c.Query("name") 做了什么?
//c.Query("name") 就是从 URL 的 query 里拿值:
        name := c.Query("name") // 获取 query参数 在URL后面加上/hello?name=Tom 返回的结果就是 hello, Tom! 如果只访问/hello 就返回下面默认的 hello,world!
        age := c.Query("age")
        if name == "" {
            name = "world"
        }
        if age == "" {
            age = "18"
        }
        c.String(http.StatusOK, "hello, %s , age %s!", name, age)
    })
    r.Run()

}
0

评论 (0)

取消