r.URL.Query()
localhost:3000/about?name=111&b...
這個可以獲取到map型別的所有引數
map[11:[] bb:[121,11] name:[111]]
vars := r.URL.Query()
arr := map[string]interface{}{}
for k,v := range vars{
str := v[0]
if str != "" {
arr[k] = v[0]
}
}
fmt.Println(arr)
- 上述中可以簡單地把有效引數獲取整理到arrmap中
- 但是時機中如有地址引數使用者可以隨機更改,不一定都是我們需要的資料
- 所以我有如下更改
從中如果我們得知該路由下我們需要的引數只有name和age時,過濾其他字元,其中每個欄位裡面的max,type等等還沒有寫,這塊我們可以把引數驗證也加進去student := map[string]interface{}{} student["name"] = map[string]interface{}{"max": 11, "min": 2, "type": "int"} student["age"] = map[string]interface{}{"max": 11, "min": 2, "type": "int"} arr := map[string]interface{}{} for k, v := range vars { _, ok := student[k] if ok { str := &v[0] if *str != "" { arr[k] = *str } } } fmt.Println(arr)
本作品採用《CC 協議》,轉載必須註明作者和本文連結