golang漂亮地打印一个结构体

func SmartPrint(i interface{}){
    var kv = make(map[string]interface{})
    vValue := reflect.ValueOf(i)
    vType :=reflect.TypeOf(i)
    for i:=0;i<vValue.NumField();i++{
        kv[vType.Field(i).Name] = vValue.Field(i)
    }
    fmt.Println("获取到数据:")
    for k,v :=range kv{
        fmt.Print(k)
        fmt.Print(":")
        fmt.Print(v)
        fmt.Println()
    }
}

func TestSmartPrint(t *testing.T) {
    type User struct {
        Name string
        Id int
    }
    SmartPrint(User{"ft",5})
}

获取到数据:
Name:ft
Id:5

您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站大部分内容收集于互联网,如果有侵权内容、不妥之处,请联系删除。敬请谅解!

  Previous post nginx 内置变量
Next post   docker容器ip互通

  关于博主【WANG-FEiHU】

Duplicate
-----------Complicate
--------------------------Appreciate
----------------------------------------[Fate]
-----------------------------------------------Elevate

三人行 有吾师

-------------花有重开日 梦无止境时-------------

  分类目录

  monitor(TD)

往前一步是黄昏,退后一步是人生

渡口边最后一面洒下了句点,与你若只如初见 何须感伤离别

生活远没有咖啡那么苦涩,关键是喝它的人怎么品味!每个人都喜欢和向往随心所欲的生活,殊不知随心所欲根本不是生活。

如果错过了太阳时你流泪了,那么你也要错过群星了。

不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧。

我不明白为什么要那么在意别人的看法,评头论足只是无聊人的消遣,何必看得如临大敌。如果你不吃别人家的饭,就别太把别人的话放在心上。