golang 为结构体 增加一个字段
时间: 2024-02-25 22:54:26 浏览: 300
要为 Golang 中的结构体增加一个字段,需要先定义一个新的结构体类型,该类型包含原始结构体类型的所有字段,并添加新的字段。然后,可以使用原始结构体的值初始化新结构体,并将其作为新值返回。
以下是一个示例代码:
```go
type Person struct {
Name string
Age int
}
type PersonWithAddress struct {
Person
Address string
}
func main() {
p1 := Person{Name: "John", Age: 30}
p2 := PersonWithAddress{Person: p1, Address: "123 Main St."}
fmt.Println(p2) // Output: {{John 30} 123 Main St.}
}
```
在上面的代码中,我们定义了一个新的结构体类型 `PersonWithAddress`,该类型包含了一个名为 `Person` 的匿名字段和一个名为 `Address` 的新字段。`Person` 字段的类型是 `Person` 结构体类型,因此 `PersonWithAddress` 类型包含了 `Person` 结构体类型的所有字段。
接着,我们使用 `Person` 结构体的值 `p1` 初始化新的 `PersonWithAddress` 结构体的值 `p2`。我们将 `p1` 作为 `Person` 字段的值,并将 `Address` 字段设置为 `123 Main St.`。
最后,我们使用 `fmt.Println` 函数打印出结构体变量 `p2` 的值。输出结果为 `{{John 30} 123 Main St.}`,其中 `{{John 30}` 表示 `Person` 字段的值,`123 Main St.` 表示 `Address` 字段的值。
阅读全文