什么时候应该使用ParseForm,何时应该使用FormValue和PostFormValue?

时间:2015-09-09 15:46:47

标签: go

我只是想尝试创建数据,而我并不完全明白使用哪种方法。

在本文中:http://astaxie.gitbooks.io/build-web-application-with-golang/content/en/04.1.html

他们使用r.ParseForm()并通过r.Form["username"]获取帖子值。

但是当我在我自己的代码中尝试这个时它不起作用,我得到了一些字符串,所以我必须做r.Form["username"][0]来获取字符串值。

为什么与文章中显示的不同?为什么我会得到一些字符串?

还有另一种方法可以像r.FormValue("username")一样使用。

然后有一个r.PostFormValue("username"),另一个!

你应该在不同的情况下使用哪一个?

1 个答案:

答案 0 :(得分:5)

根据经验,当您知道要阅读的密钥时,只需使用r.PostFormValue("username")即可。此方法始终无需任何其他准备工作。请记住,这不会读取查询参数,即使该方法是POST。

但是,如果您需要检查发送的数据,则必须先使用r.ParseForm()解析数据,然后使用r.Form["username"][0]读取数据。对于期望在同一个键上有多个值的情况也是如此。