dongsi073898 2016-05-11 08:23
浏览 5
已采纳

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

In Go std lib there're some way to pretty printing object into a Go-Syntax representation, for example,here'd how to pretty print a value,

https://play.golang.org/p/hztlPEf1If

so is there any way to dump definition of a type? If no, what's the challenges behind to stop having this feature.

  • 写回答

1条回答 默认 最新

  • duanfu3884 2016-05-13 00:35
    关注

    I write little reflection function that maybe it help you. Please check :

    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
    ", f.Name, f.Type)
        }
        fmt.Println("}")
    }
    

    Check in Go Playground

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件