编辑: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



