//使用反射将struct转化成map类型
func parseData(obj interface{}) map[string]interface{} {
t := reflect.TypeOf(obj)
v := reflect.ValueOf(obj)
var data = make(map[string]interface{})
for i := 0; i < t.NumField(); i++ {
name := t.Field(i).Name
data[name] = v.Field(i).Interface()
}
return data
}
//将名称中大写字母转换为小写字母同时在非首字母的大写字母前加_
func parseName(bytes []byte) string{
i := 0
var count = len(bytes)
container := []byte{}
for i<count {
if i == 0{
if bytes[i]>=65 && bytes[i]<=90{
container = append(container,bytes[i]+32)
}else{
container = append(container,bytes[i])
}
}else if bytes[i]>=65 && bytes[i]<=90{
container = append(container,95)
container = append(container,bytes[i]+32)
}else{
container = append(container,bytes[i])
}
i++
}
return string(container)
}
golang类型转换
反射解析Go结构体
最新推荐文章于 2024-12-21 10:51:06 发布
698

被折叠的 条评论
为什么被折叠?



