获取结构字段类型的简单字符串表示

使用 Go 的ast 包,我像这样循环遍历结构的字段列表:


type Thing struct {

    Field1 string

    Field2 []int

    Field3 map[byte]float64

}


// typ is a *ast.StructType representing the above   

for _, fld := range typ.Fields.List {

    // get fld.Type as string

}

…并且想要获得 的简单字符串表示fld.Type,就像它在源代码中出现的那样,例如[]int或map[byte]float64。


ast 包的字段类型Type 属性是一个Expr,所以我发现自己使用类型开关并专门处理每种类型的杂草 - 当我的唯一目标是在每个字段名称的右侧取出纯字符串时,似乎应该更简单。


有没有简单的方法?


慕斯王
浏览 203回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go