golang json转换忽略字段、控制字段为空不传
在 Go 语言中,可以通过在结构体中添加新字段来扩展结构体。只需简单地将新字段的名称和类型添加到结构体定义中即可。
以下是一个简单的示例代码,演示如何向结构体添加新字段:
```go
type Person struct {
Name string
Age int
}
func main() {
// 创建一个 Person 结构体变量
p := Person{
Name: "Alice",
Age: 30,
}
// 向 Person 结构体添加新字段
p.Country = "USA"
fmt.Println(p)
}
```
在这个示例中,我们首先定义了一个名为 Person 的结构体,其中包含两个字段 Name 和 Age。然后,我们创建了一个 Person 结构体变量 p,并为其设置 Name 和 Age 字段的值。接下来,我们向结构体 p 添加了一个新字段 Country,并为其设置值。最后,我们输出结构体 p 的值,可以看到新字段 Country 的值已经被设置。
需要注意的是,向结构体添加新字段可能会破坏向后兼容性,因为现有的代码可能会依赖于结构体中的字段列表。如果需要在不破坏向后兼容性的情况下扩展结构体,可以使用嵌入式结构体来实现。