常用类型及数据操作方法
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

63 lines
1.0 KiB

package helper
import (
"errors"
)
func MergeStringMap(x, y map[string]string) map[string]string {
n := make(map[string]string)
for i, v := range x {
for j, w := range y {
if i == j {
n[i] = w
} else {
if _, ok := n[i]; !ok {
n[i] = v
}
if _, ok := n[j]; !ok {
n[j] = w
}
}
}
}
return n
}
/**
* 转换为map string数组
* 2021/1/5
* gz
*/
func ToMapStringArray(x interface{}) ([]map[string]string, error) {
list, ok := x.([]interface{})
if !ok {
return []map[string]string{}, errors.New("type error")
}
if len(list) < 1 {
return []map[string]string{}, nil
}
var ret []map[string]string = make([]map[string]string, len(list))
var tmp map[string]interface{}
var map_tmp map[string]string
var err error
for key, item := range list {
if tmp, ok = item.(map[string]interface{}); ok {
map_tmp = make(map[string]string)
for k, v := range tmp {
map_tmp[k] = ToStr(v)
}
ret[key] = map_tmp
} else {
err = errors.New("data type error")
break
}
}
return ret, err
}