gitee.com/h79/goutils@v1.22.10/common/data/base.go (about) 1 package data 2 3 import "net/url" 4 5 // Base 6 /** 数据基础 */ 7 type Base interface { 8 DataType() string 9 } 10 11 type D map[string]interface{} 12 13 func (d D) String(key string) string { 14 if v, ok := d[key].(string); ok { 15 return v 16 } 17 return "" 18 } 19 20 func (d D) Value(name string) interface{} { 21 if v, ok := d[name]; ok { 22 return v 23 } 24 return nil 25 } 26 27 func (d D) Append(src D) { 28 for k, v := range src { 29 d[k] = v 30 } 31 } 32 33 func (d D) ToFormUrl() url.Values { 34 values := url.Values{} 35 for k, v := range d { 36 if val, ok := v.(string); ok { 37 values.Add(k, val) 38 } 39 } 40 return values 41 } 42 43 type Options struct { 44 Data D 45 } 46 47 type OptionsFunc func(options *Options)