在 Go 中使用结构体表示数据时,考虑字段名称的大小写非常重要。按照惯例,仅导出以大写字母开头的字段,使它们在当前包外部可见。
在提供的代码中,Person 结构有一个名为 Age 的字段大写字母,而名称小写。因此,当结构体传递到 CouchDB 库的 PostDocument 方法时,仅导出 Age 字段。
使用 json 包编组 JSON 时也适用相同的原则。只有导出的字段(以大写字母开头)才会包含在输出中。 Go 语言规范中描述了此行为:http://golang.org/ref/spec#Exported_identifiers。
要在数据库或 JSON 输出中包含小写字段,在结构定义中使用“标签”。例如:
type Sample struct { Name string `json:"name"` Age int `json:"age"` }
标签在导出的字段名称(姓名和年龄)与其小写等效项(姓名和年龄)之间提供显式映射。
通过使用标签或遵循导出字段使用大写字段名的约定,可以确保在与第三方库交互或执行 JSON 操作时正确处理结构体中的所有字段。
以上是Go中如何控制导出哪些结构体字段?的详细内容。更多信息请关注PHP中文网其他相关文章!