首页 > 解决方案 > 更改嵌套结构中的相同字段

问题描述

我有一个嵌套结构。例如,我想更改所有称为“文本”的字段。在此示例中,“文本”存在于三个不同的级别。如何优雅地迭代所有(任何)嵌套深度并更改所有称为“文本”的字段?(“文本” - 字段始终为字符串类型。)

type First struct {
Text string `json:"text"`
Second Second `json:"second"`
}

type Second struct {
    Text string `json:"text"`
    Nested Nested `json:"nested"`
}

type Nested struct {
    Text string `json:"text"`
}

标签: go

解决方案


如何优雅地迭代所有(任何)嵌套深度并更改所有称为“文本”的字段?

如果您认为反射“优雅”而不是使用反射。

大多数人不认为反射是优雅的,所以真正的答案是“你不能”。


推荐阅读