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】

Replicate
-----------Complicate
--------------------------Appreciate
----------------------------------------[Fate]
-----------------------------------------------Elevate

三人行 有吾师

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

  分类目录

  monitor(TD)

岂能尽随人愿,但求无愧我心。

在你内心深处,还有无穷的潜力,有一天当你回首看时,你就会知道这是真的。

活在当下,别在怀念过去或者憧憬未来中浪费掉你现在的生活。

挫折时,要像大树一样,被砍了,还能再长;也要像杂草一样,虽让人践踏,但还能勇敢地活下去。