這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
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的詳細介紹