Golang语言标准库http/url的Values的详细介绍

widuu 2013-12-25 Go语言 3,890 0 喜欢 (0)

Golang标准库http/url Values

Golang标准库http/url Values


今天我们更新文章,主要推广的还是GO语言,当然现在热门搜索的还是Golang,今天我们主要讲解的就是Golang标准库里边的net/url的下边的这些
[php]
type Values
func ParseQuery(query string) (m Values, err error)
func (v Values) Add(key, value string)
func (v Values) Del(key string)
func (v Values) Encode() string
func (v Values) Get(key string) string
func (v Values) Set(key, value string)
[/php]
为什么说这些呢,因为我们再用http.NewRequest进行处理,主要有哪些呢?举个简单的例子譬如说模拟post提交的时候需要拼接url,下边我们就简单的介绍一下吧!
[php]
func ParseQuery(query string) (m Values, err error) //传入的是一组字符串,返回的是一个map type Values map[string][]string 和一个错误的接口
[/php]
上边的方法是什么呢?有什么作用呢?其实我感觉还是比较鸡助的,以为什么呢?我们看一个简单的例子

[php]
v, err := url.ParseRequestURI("http://www.baidu.com/s?wd=%E5%BE%AE%E5%BA%A6%E7%BD%91%E7%BB%9C&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=2&rsv_sug4=172&rsv_sug1=1")
if err != nil {
fmt.Println(err)
}
u := v.RawQuery
//parsequery传入的必须是参数,也就是url里边的RawQuery的值 就是url?之后的path
fmt.Println(url.ParseQuery(u))
//这里url.Query()直接就解析成map了
fmt.Println(v.Query())
[/php]

这里值得一体的是 type Values map[string][]string 记住类型
[php]
func (v Values) Add(key, value string)
[/php]
这里就是我们的重点了,我们要拼接地址了
[php]
v:=url.Values{} //实例化Values结构 我们看到了Values 是一个map[string][]string结构,所以其实实例化可以这样
c := url.Values{"method": {"show"}, "id": {"1"}}
fmt.Println(c.Encode())
[/php]
当然我们要介绍Add Del Set Get的用法
[php]
//get
fmt.Println(c.Get("id")) //解析我们url中获取某个参数的传值 这个是相对于上个例子的解析
[/php]

Set的用法
[php]
//还是上边的那个例子 id=1&method=show
c.Set("method", "see")
//输出以后就是 id=1&method=see
[/php]

Del的用法就是删除url中的一个方法

[php]
//还是上边的那个例子 id=1&method=show
c.Del("method") //传入key
//输出以后就是 id=1
[/php]

Add方法,看字面的意思就懂了就是添加参数
[php]
//还是上边的那个例子 id=1&method=show
c.Add("nihao","hello") //传入key
//输出以后就是 hello=word&id=1
[/php]

这篇文章详细的讲了Golang标准库中的net/url里边的Values,如果大家有什么不懂的可以问我~~

转载请注明来自微度网络,本文标题:《Golang语言标准库http/url的Values的详细介绍》

喜欢 0 发布评论
Top