在Go语言中,结构体是一种复合数据类型,可以将不同类型的数据组合在一起。结构体的赋值方法包括以下几种:
- 直接赋值:可以直接将一个结构体变量的值赋给另一个结构体变量。
```go type Person struct { Name string Age int }
func main() { p1 := Person{Name: "Alice", Age: 30} p2 := p1 fmt.Println(p2) // 输出:{Alice 30} } ```
- 使用
=
操作符:在函数调用时,可以使用=
操作符将一个结构体变量的值赋给另一个结构体变量。
go
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{}
p2 = p1
fmt.Println(p2) // 输出:{Alice 30}
}
- 使用
copy()
函数:可以使用copy()
函数将一个结构体变量的值复制给另一个结构体变量。
go
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{}
copy(&p2, &p1)
fmt.Println(p2) // 输出:{Alice 30}
}
需要注意的是,在使用copy()
函数时,两个结构体变量的类型必须相同,否则会出现编译错误。