使用 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,所以我发现自己使用类型开关并专门处理每种类型的杂草 - 当我的唯一目标是在每个字段名称的右侧取出纯字符串时,似乎应该更简单。
有没有简单的方法?
相关分类