blog
blog copied to clipboard
Gin 简明教程 | 极客兔兔
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 感谢认可~
感谢你的分享~
我在文中,发现了两处错误。
-
获取Query参数
中的请求:curl http://localhost:9999/user/geektutu/student
这样应该是无效的,注释中提到的users?name=xxx&role=xxx
应该是正确的请求格式。 -
获取POST参数
小节 的这一行:password := c.DefaultPostForm("username", "000000")
是不是应该把username
=>password
。Query和POST混合参数
这一小节中,也存在同样的问题。
@yuzixun 非常感谢指出问题,已经修正,博客一段时间后会自动更新。
简明扼要👍
tutu 大神你好,请教个问题,下边的语法中 {}
代码段中有什么特殊作用么?
v2 := r.Group("/v2")
{
v2.GET("/posts", defaultHandler)
v2.GET("/series", defaultHandler)
}
@chopin11 tutu 大神你好,请教个问题,下边的语法中
{}
代码段中有什么特殊作用么?v2 := r.Group("/v2") { v2.GET("/posts", defaultHandler) v2.GET("/series", defaultHandler) }
为了缩进,增加辨识度,没其他作用。
tutu 大神你好,请教个问题,下边的语法中
{}
代码段中有什么特殊作用么?
@chopin11 @ionling 的回答是正确的,在这里 {}
包裹成独立代码块,与其他代码区分开发,便于理解。另外,Go 语言的变量作用域是代码块级别的,也就是,多个代码块内部可以定义相同的变量,而互相不影响。
谢谢大神的教程。 看了过后有个疑问,重定向 部分的示例代码是不是写错了? 还是我理解的不对 ··· 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) }) ···
好文,有个点问一下: HTML模块那个: r.LoadHTMLGlob("templates/*") 这里面的templates/*是什么意思? 我看会报错,也不知道改成啥,感觉是templates里面的东西
路由那一节的前两个例子没有设置默认端口,所以应该还是8080,不是9999.
上传文件那个咋测试呢? HTML模板的代码不知道咋运行
@J-Corleone 上传文件那个咋测试呢? HTML模板的代码不知道咋运行 新建一个file.txt文件,postman选择Body。在Key栏划到右边可以找到一个下拉框,选择File,然后在Value栏选择之前新建的file.txt文件,配置好url地址,点击send就好啦