使用Go的ast package,我遍歷一個struct的字段列表,像這樣的一個簡單的字符串表示:獲取一個結構字段的類型
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包field type類型屬性是一個Expr,所以我發現自己使用類型開關進入雜草並專門處理每一種類型 - 當我唯一的目標是讓每個單元格右邊的純字符串字段名稱,這看起來應該更簡單。
有沒有簡單的方法?
你嘗試過'theFileString [fld.Type.Pos():fld.Type.End()]'嗎? – mjibson