geektutu / blog

极客兔兔的博客,Coding Coding 创建有趣的开源项目。
https://geektutu.com
Apache License 2.0
166 stars 21 forks source link

Gin 简明教程 | 极客兔兔 #38

Open geektutu opened 4 years ago

geektutu commented 4 years ago

https://geektutu.com/post/quick-go-gin.html

Gin教程,Gin框架教程,Gin快速入门,Gin中文教程,Gin中文文档,Golang Web Framework Gin Tutorial (Go语言Web框架)。Go安装,环境搭建;热加载(hot reload, live reload);路由(Route, Router)和分组路由(Group Router);HTML模板(HTML Template);中间件(Middleware)。

yfgeek commented 4 years ago

您的每一篇文章都是精品,真的特别好!

geektutu commented 4 years ago

@yfgeek 感谢认可~

yuzixun commented 4 years ago

感谢你的分享~

我在文中,发现了两处错误。

  1. 获取Query参数中的请求:curl http://localhost:9999/user/geektutu/student 这样应该是无效的,注释中提到的users?name=xxx&role=xxx应该是正确的请求格式。

  2. 获取POST参数小节 的这一行:password := c.DefaultPostForm("username", "000000") 是不是应该把 username => passwordQuery和POST混合参数这一小节中,也存在同样的问题。

geektutu commented 4 years ago

@yuzixun 非常感谢指出问题,已经修正,博客一段时间后会自动更新。

ionling commented 3 years ago

简明扼要👍

chopin11 commented 3 years ago

tutu 大神你好,请教个问题,下边的语法中 {} 代码段中有什么特殊作用么?

v2 := r.Group("/v2")
{
    v2.GET("/posts", defaultHandler)
    v2.GET("/series", defaultHandler)
}
ionling commented 3 years ago

@chopin11 tutu 大神你好,请教个问题,下边的语法中 {} 代码段中有什么特殊作用么?

v2 := r.Group("/v2")
{
  v2.GET("/posts", defaultHandler)
  v2.GET("/series", defaultHandler)
}

为了缩进,增加辨识度,没其他作用。

geektutu commented 3 years ago

tutu 大神你好,请教个问题,下边的语法中 {} 代码段中有什么特殊作用么?

@chopin11 @ionling 的回答是正确的,在这里 {} 包裹成独立代码块,与其他代码区分开发,便于理解。另外,Go 语言的变量作用域是代码块级别的,也就是,多个代码块内部可以定义相同的变量,而互相不影响。

zakeyken commented 3 years ago

谢谢大神的教程。 看了过后有个疑问,重定向 部分的示例代码是不是写错了? 还是我理解的不对 ··· r.GET("/redirect", func(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, "/index") })

r.GET("/goindex", func(c *gin.Context) { //这里是不是应该是“/index“, 或者上面Redirct 的第二个参数改成”/goindex“? c.Request.URL.Path = "/" r.HandleContext(c) }) ···

fengziboboy commented 2 years ago

好文,有个点问一下: HTML模块那个: r.LoadHTMLGlob("templates/") 这里面的templates/是什么意思? 我看会报错,也不知道改成啥,感觉是templates里面的东西

MachineGunLin commented 1 year ago

路由那一节的前两个例子没有设置默认端口,所以应该还是8080,不是9999.

J-Corleone commented 1 year ago

上传文件那个咋测试呢? HTML模板的代码不知道咋运行

zixinfeixin666 commented 10 months ago

@J-Corleone 上传文件那个咋测试呢? HTML模板的代码不知道咋运行 新建一个file.txt文件,postman选择Body。在Key栏划到右边可以找到一个下拉框,选择File,然后在Value栏选择之前新建的file.txt文件,配置好url地址,点击send就好啦