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

widuu · · 12599 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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的详细介绍


有疑问加站长微信联系(非本文作者)

本文来自:微度网络

感谢作者:widuu

查看原文:Golang语言标准库http/url的Values的详细介绍

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

12599 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传