当前位置: 首页 > wzjs >正文

做一些购物网站网站优化排名软件哪些最好

做一些购物网站,网站优化排名软件哪些最好,网站性能需求,c2c的盈利模式有哪些文章目录 一、安装gin包和热加载包二、路由简单场景总结 一、安装gin包和热加载包 首先终端新建一个main.go然后go mod init ‘项目名称’执行以下命令 安装gin包 go get -u github.com/gin-gonic/gin终端安装热加载包 go get github.com/pilu/fresh终端输入fresh 运行 &…

文章目录

  • 一、安装gin包和热加载包
  • 二、路由简单场景总结


一、安装gin包和热加载包

  1. 首先终端新建一个main.go
  2. 然后go mod init ‘项目名称’
  3. 执行以下命令 安装gin包
go get -u github.com/gin-gonic/gin
  1. 终端安装热加载包
go get github.com/pilu/fresh
  1. 终端输入fresh 运行 ,之后文件的改动,项目自动重新热加载
fresh
  1. 简单示例代码
package mainimport ("github.com/gin-gonic/gin"
)
func main (){r := gin.Default() // 创建一个路由引擎// 配置路由r.GET("/", func(c *gin.Context) {c.String(200, "你好,gin")})
}

二、路由简单场景总结

  1. 返回string数据
    /*1.创建路由*/r := gin.Default() // 创建一个路由引擎// 配置路由r.GET("/", func(c *gin.Context) {c.String(200, "你好,gin")})// 返回string数据r.POST("/ping", func(c *gin.Context) {c.String(http.StatusOK, "你好,gin") //http.StatusOK 表示200的状态码})
  1. 返回json数据
  r.GET("/json", func(c *gin.Context) {//gin.H是 map[string]interface{} 的类型别名:用于快速创建键值对形式JSONc.JSON(http.StatusOK, gin.H{"code": 200,"data": gin.H{"name": "张三","age":  18,},})})
  1. 返回结构体
	type Article struct {Title   string `json:"title"` //json序列化时的键名,Title在json中以小写展示Desc    string `json:"desc"`Content string `json:"content"`}r.GET("/json1", func(c *gin.Context) {a := &Article{Title: "标题", Desc: "描述", Content: "内容"} //使用指针是避免每次都要拷贝结构体,不使用指针也可以访问数据//gin.H是 map[string]interface{} 的类型别名:用于快速创建键值对形式JSONc.JSON(http.StatusOK, gin.H{"code": 200,"data": a,})})
  1. jsonp返回
   type Article struct {Title   string `json:"title"` //json序列化时的键名,Title在json中以小写展示Desc    string `json:"desc"`Content string `json:"content"`}// http://localhost:8080/jsonp?callback=xxx//返回 xxx({"code":200,"data":{"title":"标题-jsonp","desc":"描述","content":"内容"}});r.GET("/jsonp", func(c *gin.Context) {a := &Article{Title: "标题-jsonp", Desc: "描述", Content: "内容"}//gin.H是 map[string]interface{} 的类型别名:用于快速创建键值对形式JSONc.JSONP(http.StatusOK, gin.H{"code": 200,"data": a,})})
  1. 返回XML
  r.GET("/xml", func(c *gin.Context) {c.XML(http.StatusOK, gin.H{"code":  200,"title": "小米SU7",})})
  1. 返回模版 html
   	/*向html中传入普通数据*/r.GET("/html", func(c *gin.Context) {c.HTML(http.StatusOK, "goods.html", gin.H{ "code": 200,"title": `小米SU7`,})/*html中使用 .title接收*/<h1 class="text-center my-4">{{.title}}</h1>
   /*向html中传入传入结构体*/r.GET("/html", func(c *gin.Context) {b := &Article{Title: "小米SU7年轻人的第一辆车", Desc: "描述", Content: "内容"} c.HTML(http.StatusOK, "goods.html", gin.H{"code":  "200","data":  b,})})/* 结构体赋值变量  $t */{{$t := .data.Title}}<h3>{{$t}}</h3>/* 解构结构体  with */{{with .data}}<p>{{.Title}}</p>{{end}}
	/*向html中传入变量,模版条件判断*/r.GET("/html", func(c *gin.Context) {c.HTML(http.StatusOK, "goods.html", gin.H{"code":  "200","price": 50,})})<!-- 条件判断 eq 相等 / ne 不相等 /  gt 大于 / lt 小于 / ge 大于等于 / le 小于等于 -->{{if ge .price 80}}<p>有点贵:{{.price}}</p>{{else if lt .price 10}}<p>有点便宜:{{.price}}</p>{{else}}<p>价格:{{.price}}</p>{{end}}
       /*html中传入切片,模版循环遍历数据*/r.GET("/html", func(c *gin.Context) {c.HTML(http.StatusOK, "goods.html", gin.H{"code":  "200","hobby": []string{"小米", "SU7", "YU7"},})})<!-- 循环遍历数据 -->{{range $key,$value := .hobby}}<li>{{$key}}---{{$value}}</li>{{else}}<p>没有数据</p>{{end}}
http://www.dtcms.com/wzjs/504317.html

相关文章:

  • 网页设计与制作黑马程序员seoul是什么国家
  • 东莞凤岗哪里有学做网站的石家庄关键词优化平台
  • oa和erp系统区别seowhy论坛
  • 保洁公司网站源码企业整站seo
  • 网站建设 思维导图设计公司网站设计
  • 宝安做网站哪家好百度网址大全官网
  • 可以做h5游戏的网站昆明seo工资
  • 可以做ps兼职的网站seo权重查询
  • 重庆市住建厅网站外贸网站推广seo
  • 怀化市建设局招投标网站手游免费0加盟代理
  • 网站怎么做转发搜索引擎大全排行
  • wordpress语言切换网站网络整合营销是什么意思
  • 企业名录模板上海关键词优化推荐
  • 展示类网站今日国内新闻最新消息大事
  • 做网站百度四川网络推广seo
  • 顺德区网站设计网站开发的基本流程
  • 凡科建站官网登录入口网页版seo外包公司兴田德润
  • 优质的网站建设流程seo项目完整流程
  • 中国建设银行纪念币预约网站百度seo推广方案
  • 北京网站建设价培训推广 seo
  • 新手学做网站需要注意的几点whois查询
  • 三里河网站建设怎样做好服务营销
  • 进腾讯做游戏视频网站百度在线入口
  • 建设企业网站专业服务河南网站建设制作
  • 免费注册个人网站拓客软件
  • 跟我一起做网站微信营销号
  • 王牌网站做代理推广普通话奋进新征程演讲稿
  • 幼儿园老师对班级网站建设如何做网页推广
  • xp做的网站有连接限制优化关键词技巧
  • 属于软件开发工具的是深圳网站设计十年乐云seo