在Go语言中,结构体是一种复合数据类型,可以将不同类型的数据组合在一起。结构体的赋值方法包括以下几种:

  1. 直接赋值:可以直接将一个结构体变量的值赋给另一个结构体变量。

```go type Person struct { Name string Age int }

func main() { p1 := Person{Name: "Alice", Age: 30} p2 := p1 fmt.Println(p2) // 输出:{Alice 30} } ```

  1. 使用=操作符:在函数调用时,可以使用=操作符将一个结构体变量的值赋给另一个结构体变量。

go func main() { p1 := Person{Name: "Alice", Age: 30} p2 := Person{} p2 = p1 fmt.Println(p2) // 输出:{Alice 30} }

  1. 使用copy()函数:可以使用copy()函数将一个结构体变量的值复制给另一个结构体变量。

go func main() { p1 := Person{Name: "Alice", Age: 30} p2 := Person{} copy(&p2, &p1) fmt.Println(p2) // 输出:{Alice 30} }

需要注意的是,在使用copy()函数时,两个结构体变量的类型必须相同,否则会出现编译错误。