package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
// 响应json还有其他响应差不多可以去学
func _string(c *gin.Context) {
c.String(http.StatusOK, "lalal")
}
func _json(c *gin.Context) {
//json响应结构体
type UsetInfo struct {
UserNmae string `json:"user_name"` //这个可以在json序列化是去改变这个名
Age int
Password string `json:"-"` //不渲染,不进行json序列化,忽略转换为json
}
//user := UsetInfo{"xiao", 23, "1234"}
//直接响应json
c.JSON(200, gin.H{
"name": "lala", //要写,号
})
}
// 重定向 当用户输入一个对应路径是跳转到你指定的网页去
func _redirect(c *gin.Context) {
c.Redirect(302, "http://127.0.0.1/lala.png")
}
func main() {
//创建一个默认的路由
router := gin.Default()
//加载这个目录下的所有模板文件,目录名用你自己创建的
// router.LoadHTMLGlob("templates/*")
//网页请求这个静态目录的前缀,第二个是一个目录
router.StaticFS("/static", http.Dir("static/static"))
//下载某一个文件前面是网站访问路径,后面是文件路径,在goland中只有相对于项目的路径,单个文件
router.StaticFile("/lala.png", "static/日落.png")
//绑定路由规则和路由函数,访问/index的路由,将用对应的函数去处理,这是一个匿名函数没有函数名,
//因为go 规定有名字的函数里面不能在声明有名字的函数但是匿名的可以
router.GET("/", _string)
//context.String(http.StatusOK, "hello lalala")响应一返回字符串
router.GET("/json", _json)
//启动监听,gin会把web服务运行在本机的0.0.0.0:8080端口上
//router.GET("/baidu", _redirect)
router.GET("/baidi", _redirect)
//端口80是默认端口,你甚至不用在127.0.0.1后面加80
router.Run(":80") //router.Run的本质就是对http.ListenAndServer的封装
//原生http服务的方式 http.ListenAndServer(":8080",router)
}
gin学习1-7
m0_732224412024-04-29 16:01
相关推荐
sulikey1 小时前
个人Linux操作系统学习笔记11 - 环境变量治愈系贝壳2 小时前
ARM --- day 6 时钟minglie12 小时前
zynq高频小数据量PS闭环的三个实验-第0课:目的和目标劈星斩月3 小时前
监督学习算法 之 决策树AOwhisky3 小时前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解woshihuanglaoshi4 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略世人万千丶13 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践遇乐的果园16 小时前
前端学习笔记-vue加载渲染优化遇乐的果园18 小时前
前端学习笔记-vue状态管理优化从零开始的代码生活_18 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍