在 Go 标准库中,有一些方法可以将对象漂亮地打印到 Go-Syntax 表示中,例如,这里有如何漂亮地打印一个值,https://play.golang.org/p/hztlPEf1If那么有什么方法可以转储类型的定义吗?如果没有,停止使用此功能背后的挑战是什么。
1 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
我写了一点反射函数,也许它可以帮助你。请检查 :
package main
import (
"fmt"
"reflect"
)
type S struct {
A string
B int
c bool
d float64
e struct {
f int
}
}
func main() {
var s S
MagicPrint(&s)
}
func MagicPrint(t interface{}) {
typeOfT := reflect.TypeOf(t).Elem()
fmt.Println("type", typeOfT.Name(), " struct {")
for i := 0; i < typeOfT.NumField(); i++ {
f := typeOfT.Field(i)
fmt.Printf("%s %s\n", f.Name, f.Type)
}
fmt.Println("}")
}
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消