fmt_plus.go 531 字节
Newer Older
Mr.奇淼('s avatar
Mr.奇淼( 已提交
1
package utils
Mr.奇淼('s avatar
Mr.奇淼( 已提交
2

3 4 5 6 7
import (
	"fmt"
	"reflect"
	"strings"
)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
8 9

// 利用反射将结构体转化为map
Mr.奇淼('s avatar
Mr.奇淼( 已提交
10
func StructToMap(obj interface{}) map[string]interface{} {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
11 12 13 14 15 16 17 18
	obj1 := reflect.TypeOf(obj)
	obj2 := reflect.ValueOf(obj)

	var data = make(map[string]interface{})
	for i := 0; i < obj1.NumField(); i++ {
		data[obj1.Field(i).Name] = obj2.Field(i).Interface()
	}
	return data
Mr.奇淼('s avatar
Mr.奇淼( 已提交
19
}
20 21 22 23 24

//将数组格式化为字符串
func ArrayToString(array []interface{}) string {
	return strings.Replace(strings.Trim(fmt.Sprint(array), "[]"), " ", ",", -1)
}