在Go语言中,可以使用struct作为函数的参数传递。
示例代码:
package main
import "fmt"
type Student struct {
name string
age int
score float32
}
func main() {
stu := Student{
name: "Tom",
age: 18,
score: 90.5,
}
printStudent(stu)
}
func printStudent(s Student) {
fmt.Println("Name:", s.name)
fmt.Println("Age:", s.age)
fmt.Println("Score:", s.score)
}
在上面的示例中,我们定义了一个结构体Student,包含了姓名、年龄和分数三个字段。然后在main函数中创建一个Student类型的变量stu,并给它赋值。接着将stu作为参数传递给printStudent函数,在该函数中打印出该学生的信息。
需要注意的是,当我们将结构体作为参数传递时,实际上是传递了该结构体的副本,而不是原始结构体本身。因此,在函数中修改该结构体的字段值并不会影响到原始结构体的值。如果想要在函数中修改原始结构体的值,可以将结构体指针作为参数传递,或者在函数内部通过指针访问结构体的字段。




