Mit Go ast package, ich Looping über ein Feld Liste der Struktur wie folgt:Holen Sie sich einen einfachen String-Darstellung eines Typs, der struct Feld
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
}
... und möchte eine einfache String-Darstellung von fld.Type bekommen, so wie es im Quellcode erscheint, zB "[] int" oder "map [byte] float64".
Das ast-Paket field type Typ-Eigenschaft ist ein Expr, also habe ich mich in die Unkräuter mit Typ-Schalter und Umgang mit jedem Typ speziell - wenn mein einziges Ziel ist es, die einfache Zeichenfolge rechts von jedem Feldname, der scheint, als sollte es einfacher sein.
Gibt es einen einfachen Weg?
Haben Sie versucht 'theFileString [fld.Type.Pos(): fld.Type.End()]'? – mjibson