1. 程式人生 > >golang如何漂亮地列印一個結構體,前後端對接方便測試資料

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