Go 如何解析Iris中的查询字符串

Go 如何解析Iris中的查询字符串,go,go-iris,Go,Go Iris,基于for,我想创建一个可以解析如下请求的应用程序 wget-qO-http://localhost:8080/hi?name=John“ 然后回复你好,约翰 以下是我的处理程序代码: func-hi(ctx*iris.Context){ 名称:=ctx.ParamDecoded(“名称”) ctx.Writef(“Hi%s!”,名称) } 这只是回答嗨-我怎样才能让它回答嗨,约翰重要:关于是否使用Iris存在争议,因为作者显然多次删除了历史记录,这使得它很难作为一个稳定的API使用。请阅读并

基于for,我想创建一个可以解析如下请求的应用程序

wget-qO-http://localhost:8080/hi?name=John“
然后回复
你好,约翰

以下是我的处理程序代码:

func-hi(ctx*iris.Context){
名称:=ctx.ParamDecoded(“名称”)
ctx.Writef(“Hi%s!”,名称)
}

这只是回答
-我怎样才能让它回答
嗨,约翰

重要:关于是否使用Iris存在争议,因为作者显然多次删除了历史记录,这使得它很难作为一个稳定的API使用。请阅读并形成自己的观点

只需使用
ctx.FormValue(…)
而不是
ctx.paradecoded()

如果没有这样的表单值(即查询参数),则只返回一个空字符串

如果要测试表单值是否实际存在,可以使用
ctx.FormValues()
获取映射。但是,这有点复杂,因为映射包含每个键的字符串值列表:

func-hi(ctx*iris.Context){
表单:=ctx.FormValues()
名称,确定:=形式[“名称”]
名称:=“”
if!ok{//没有名称参数
name=“”
}else{//至少有一个名称
name=名称[0]
}
ctx.Writef(“Hi%s!”,名称)
}

请不要使用Iris:and@YandryPozo谢谢,我没有意识到这一点。我会仔细看看你贴的链接@YandryPozo我读了这些链接,事实上我现在确信iris对我来说不是一个好的解决方案,对其他人来说也可能不是。我在下面的解决方案中添加了一句话,以便其他人了解这些问题。非常感谢。请注意,不接受拉取请求没有什么错。重写pull请求以更改作者身份并保持“唯一贡献者”身份是不可接受的(这可能是SO的方式:/)@JimB谢谢,我在编辑中错误地表达了自己。我已经删除了句子的那一部分,所以如果有人发现这个问答,请不要考虑给你的答案加上一些解释或细节。虽然它可能会回答这个问题,但仅仅添加一段代码作为答案,并不能帮助OP或未来的社区成员理解这个问题或建议的解决方案。
func hi(ctx *iris.Context) {
    name := ctx.FormValue("name")
    ctx.Writef("Hi %s!", name)
}
func hi(ctx *iris.Context) {
    name := ctx.URLParam("name")
    ctx.Writef("Hi %s!", name)
}