标签:http ar os on bs ad amp ef as
package main
import (
"fmt"
"net/url"
)
func main() {
escape := url.QueryEscape("你好世界+%AB")
fmt.Println(escape) //QueryEscape函数对string进行转码,并返回
fmt.Println(url.QueryUnescape(escape)) //QueryEscape的解码函数
url1 := "http://localhost:8080/user/show?m1=77"
u, err := url.Parse(url1)
if err != nil {
fmt.Println(err)
}
fmt.Println(u.Host, u.String())
u.Host = "baidu.com" //修改host
fmt.Println(u)
u1, _ := url.ParseRequestURI("http://localhost:8080/tongji/huifanginfo?m1=117&aa=bb&cc=中国")
fmt.Println(u1.IsAbs()) //是否是url
fmt.Println(u1)
u2 := u1.RawQuery //url ?后面的参数字符串
fmt.Println(url.ParseQuery(u2)) //解析查询字符串到url.values
fmt.Println(u1.Query()) //返回u1的url.values
fmt.Println(u1.RequestURI()) //返回编码好的path?query或opaque?query字符串
fmt.Println(u1.String()) //返回*url的字符串
fmt.Println(u1.Parse("?m1=117&aa=bb&cc=中国&dd=新加的参数")) //补全u1的url
fmt.Println(u1.ResolveReference(u)) //和上面差不多,参数是一个*url 不返回错误,没看明白
v := url.Values{}
v.Set("name", "zhangsan") //将key对应的值集设为只有value,它会替换掉已有的值集
v.Add("sex", "男") //将value添加到key关联的值集里原有的值后面
v.Add("sex", "保密")
fmt.Println(v.Get("name")) //获取key对应的值集的第一个值
fmt.Println(v.Get("sex"))
fmt.Println(v["sex"]) //这个会取出这个值集的slice
fmt.Println(v.Encode()) //将v编码为url编码格式
fmt.Println(url.ParseQuery(v.Encode())) //解析一个url编码的查询字符串,返回Values
}
标签:http ar os on bs ad amp ef as
原文地址:http://my.oschina.net/tongjh/blog/342238