如何计算结构或JSON文档中的属性数?

Sup*_*ork 1 json go

我正在Go中制作一个PDF生成器,其中一个部分将是一个表格.要创建一个表,我需要说明列的宽度,这将通过获取页​​面宽度(减去边距)并除以表中的列数来完成

表中的列是在这样的结构中定义的:

type Person struct {
    Name    string `json:"Name"`
    Age     string `json:"Age"`
    Comment string `json:"Comment"`
}
Run Code Online (Sandbox Code Playgroud)

并且JSON被解组了

我不想将"3"作为列号硬编码到我的代码中,并想知道如何以编程方式从JSON或结构本身计算属性

我现在花了几天时间搜索,所有结果都集中在人们无法获得价值观,但我想要钥匙!

提前致谢

Ehs*_*dar 5

reflect.TypeOf(Person{}).NumField()
Run Code Online (Sandbox Code Playgroud)

要么

 len(structs.Map(Person{}))
Run Code Online (Sandbox Code Playgroud)

(你需要导入"github.com/fatih/structs")