如何传递结构体作为 Golang 函数的参数?

golang 中传递结构体作为函数参数,有两种方式:传递结构体的副本,以避免影响原始结构体。传递结构体的指针,以修改原始结构体。

如何传递结构体作为 Golang 函数的参数?

如何在 Golang 函数中传递结构体作为参数

Golang 中,结构体是一种自定义类型,可用于将相关数据组合在一起。在某些情况下,您可能需要在函数之间传递结构体。有两种方法可以实现这一点:

1. 传递结构体的副本

这种方法将创建结构体的副本,并将其作为函数参数传递。修改传递的副本不会影响原始结构体。要传递结构体的副本,请使用以下语法:

func myFunction(s structType) {
  // 使用传递的结构体副本
}

2. 传递结构体的指针

这种方法将传递一个指向原始结构体的指针。修改传递的指针将修改原始结构体。要传递结构体的指针,请使用以下语法:

func myFunction(s *structType) {
  // 使用传递的结构体指针
}

实战案例

假设我们有一个表示学生数据的结构体:

type Student struct {
  Name string
  Age int
}

我们可以创建一个函数,使用结构体的副本来打印学生信息:

func printStudentInfo(s structType) {
  fmt.Println(s.Name)
  fmt.Println(s.Age)
}

或者,我们可以创建一个函数,使用结构体的指针来修改学生信息:

func updateStudentInfo(s *structType) {
  s.Name = "John Doe"
  s.Age = 20
}

注意:

  • 传递结构体的副本时,对副本所做的任何修改都不会影响原始结构体。
  • 传递结构体的指针时,对指针所做的任何修改都会修改原始结构体。

以上就是如何传递结构体作为 Golang 函数的参数?的详细内容,更多请关注www.sxiaw.com其它相关文章!