本文整理匯總了Golang中kego/io/system.Type.SortedFields方法的典型用法代碼示例。如果您正苦於以下問題:Golang Type.SortedFields方法的具體用法?Golang Type.SortedFields怎麽用?Golang Type.SortedFields使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類kego/io/system.Type
的用法示例。
在下文中一共展示了Type.SortedFields方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: printStructDefinition
func printStructDefinition(ctx context.Context, env *envctx.Env, g *builder.Builder, typ *system.Type) error {
if typ.Description != "" {
g.Println("// ", typ.Description)
}
g.Println("type ", system.GoName(typ.Id.Name), " struct {")
{
if !typ.Basic {
g.Println("*", g.SprintRef("kego.io/system", system.GoName("object")))
}
embedsSortable := system.SortableReferences(typ.Embed)
sort.Sort(embedsSortable)
embeds := []*system.Reference(embedsSortable)
for _, embed := range embeds {
g.Println("*", builder.Reference(embed.Package, system.GoName(embed.Name), env.Path, g.Imports.Add))
}
for _, nf := range typ.SortedFields() {
b := nf.Rule.(system.ObjectInterface).GetObject(nil)
if b.Description != "" {
g.Println("// ", b.Description)
}
descriptor, err := builder.FieldTypeDefinition(ctx, nf.Name, nf.Rule, env.Path, g.Imports.Add)
if err != nil {
return kerr.Wrap("GDSKJDEKQD", err)
}
g.Println(system.GoName(nf.Name), " ", descriptor)
}
}
g.Println("}")
return nil
}