栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Golang Gin“ c.Param未定义(类型* gin.Context没有字段或方法Param)”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang Gin“ c.Param未定义(类型* gin.Context没有字段或方法Param)”

编辑:OP具有旧版本的软件包的“由Glide创建的供应商目录”。并通过删除该文件夹解决了问题(更新供应商软件包)。

注意:

go get
请勿签出或更新存储在供应商目录中的代码。


c.Param(key)
是的快捷方式
c.Params.ByName(key)
,请参阅
c.Param(key)
文档:

// Param returns the value of the URL param.// It is a shortcut for c.Params.ByName(key)//        router.GET("/user/:id", func(c *gin.Context) {// // a GET request to /user/john// id := c.Param("id") // id == "john"//        })func (c *Context) Param(key string) string {  return c.Params.ByName(key)}

您需要更新

github.com/gin-gonic/gin
软件包,请尝试:

go get -u github.com/gin-gonic/gin

并确保没有任何

vendor
,并尝试删除所有文件和供应商目录,除了
main.go
然后
go build
(或更新您的供应商包)。


您的代码在

go1.7
以下方面运行良好:

package mainimport (    "net/http"    "github.com/gin-gonic/gin")func main() {    router := gin.Default()    router.GET("/user/:name", func(c *gin.Context) {        name := c.Param("name")        c.String(http.StatusOK, "Hello %s", name)    })    router.Run(":8080")}

在浏览器中打开

http://127.0.0.1:8080/user/World

输出:

Hello World


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418923.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号