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)