我需要能夠在我的 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(當(dāng)然是在 r.ParseForm() 之后?。?,就會(huì)發(fā)現(xiàn) Go 將它解析為單獨(dú)的字符串 - 而不是我所追求的嵌套層次結(jié)構(gòu)。更具體地說,當(dāng)我這樣做時(shí)r.Form["cart"],我希望獲得整個(gè)嵌套的切片/地圖,但這顯然不是它的工作原理。我得到的值是[]。使用模式是最好的解決方案,還是有可能完全實(shí)現(xiàn)我所追求的?如果那樣,你會(huì)怎么做?:-)
1 回答

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
這種語法實(shí)際上不是法理上的標(biāo)準(zhǔn)。當(dāng)站點(diǎn)后端由 PHP 提供支持時(shí),有時(shí)會(huì)使用它,但不是很頻繁。
我認(rèn)為標(biāo)準(zhǔn) Go 庫沒有理由支持它。
從某種意義上說,本機(jī)解決方案存在于您擁有實(shí)現(xiàn)它的所有工具:字符串操作等。但是,現(xiàn)在沒有必要實(shí)現(xiàn)它,因?yàn)槟偸强梢园l(fā)送特定于任務(wù)的 JSON。
即使你堅(jiān)持創(chuàng)建它,它也不會(huì)像在 PHP 中那么簡單,因?yàn)?Go 是類型化語言而 PHP 不是。并且訪問這樣的結(jié)構(gòu)并不容易,因?yàn)槟仨殞⑵鋵?shí)現(xiàn)為map[string]interface{}
,這不是正確的 Go 方式(順便說一句,Go 方式是類型化數(shù)據(jù)結(jié)構(gòu))。
- 1 回答
- 0 關(guān)注
- 310 瀏覽
添加回答
舉報(bào)
0/150
提交
取消