我需要能够在我的 HTML 表单中做这样的事情:<form method="POST"> <input type="text" name="cart[items][1][qty]" value="3"/> <input type="text" name="cart[items][2][qty]" value="7"/> <input type="submit" value="Update cart"/></form>问题是,如果我打印出来r.Form(当然是在 r.ParseForm() 之后!),就会发现 Go 将它解析为单独的字符串 - 而不是我所追求的嵌套层次结构。更具体地说,当我这样做时r.Form["cart"],我希望获得整个嵌套的切片/地图,但这显然不是它的工作原理。我得到的值是[]。使用模式是最好的解决方案,还是有可能完全实现我所追求的?如果那样,你会怎么做?:-)
1 回答
慕森卡
TA贡献1806条经验 获得超8个赞
这种语法实际上不是法理上的标准。当站点后端由 PHP 提供支持时,有时会使用它,但不是很频繁。
我认为标准 Go 库没有理由支持它。
从某种意义上说,本机解决方案存在于您拥有实现它的所有工具:字符串操作等。但是,现在没有必要实现它,因为您总是可以发送特定于任务的 JSON。
即使你坚持创建它,它也不会像在 PHP 中那么简单,因为 Go 是类型化语言而 PHP 不是。并且访问这样的结构并不容易,因为您必须将其实现为map[string]interface{}
,这不是正确的 Go 方式(顺便说一句,Go 方式是类型化数据结构)。
- 1 回答
- 0 关注
- 288 浏览
添加回答
举报
0/150
提交
取消