为了账号安全,请及时绑定邮箱和手机立即绑定

Go 类型的代码生成/语法表示

Go 类型的代码生成/语法表示

Go
波斯汪 2022-01-10 14:57:51
在 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("}")

}


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信