golang struct转map

Posted Golang语言社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang struct转map相关的知识,希望对你有一定的参考价值。

  1. package main


  2. import (

  3.         "fmt"

  4.         "reflect"

  5.         "time"

  6. )


  7. type User struct {

  8.         Id        int64

  9.         Username  string

  10.         Password  string

  11.         Logintime time.Time

  12. }


  13. func Struct2Map(obj interface{}) map[string]interface{} {

  14.         t := reflect.TypeOf(obj)

  15.         v := reflect.ValueOf(obj)


  16.         var data = make(map[string]interface{})

  17.         for i := 0; i < t.NumField(); i++ {

  18.                 data[t.Field(i).Name] = v.Field(i).Interface()

  19.         }

  20.         return data

  21. }


  22. func main() {

  23.         user := User{5, "zhangsan", "pwd", time.Now()}

  24.         data := Struct2Map(user)

  25.         fmt.Println(data)

  26. }




复制代码

本文来自:博客园

感谢作者:grimm

查看原文:golang struct转map




以上是关于golang struct转map的主要内容,如果未能解决你的问题,请参考以下文章

工具收藏golang 开发工具包,jsonsql 转 struct

golang struct转map

go 实现struct转map

[转] golang中structjsonmap互相转化

Golang 学习之路

Golang中的struct能不能比较