加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数组 – 如何从golang中的查询中获取数组键的值

发布时间:2020-12-16 09:26:28 所属栏目:大数据 来源:网络整理
导读:我有这个问题 site.com/?status[0]=1status[1]=2status[1]=3name=John 我想得到状态键的所有值 1,2,3 我试过这样的事 for _,status:= range r.URL.Query()["status"] { fmt.Println(status)} 但它只有在查询没有数组键时才有效:site.com/?status=1u0026amp
我有这个问题

site.com/?status[0]=1&status[1]=2&status[1]=3&name=John

我想得到状态键的所有值

1,2,3

我试过这样的事

for _,status:= range r.URL.Query()["status"] {
    fmt.Println(status)
}

但它只有在查询没有数组键时才有效:site.com/?status=1u0026amp;status=2u0026amp;status=3u0026amp;name=John

解决方法

一种方法是循环遍历可能的值并随时附加到切片:

r.ParseForm()  // parses request body and query and stores result in r.Form
var a []string
for i := 0; ; i++ {
    key := fmt.Sprintf("status[%d]",i)
    values := r.Form[key] // form values are a []string
    if len(values) == 0 {
        // no more values
        break
    }
    a = append(a,values[i])
    i++
}

如果您可以控制查询字符串,则使用以下格式:

site.com/?status=1&status=2&status=3&name=John

并使用以下方式获取状态值

r.ParseForm()
 a := r.Form["status"]  // a is []string{"1","2","3"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读