为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中将结构作为函数参数传递?

如何在 Go 中将结构作为函数参数传递?

Go
一只名叫tom的猫 2023-02-14 19:42:24
package mainimport "fmt"type Person struct {    name   string    age    int    job    string    salary int}func test(class Person) {    // Access and print Pers1 info    fmt.Println("Name: ", class.name)    fmt.Println("Age: ", class.age)    fmt.Println("Job: ", class.job)    fmt.Println("Salary: ", class.salary)    }func main() {    var pers1 Person    var pers2 Person    // Pers1 specification    pers1.name = "Hege"    pers1.age = 45    pers1.job = "Teacher"    pers1.salary = 6000    // Pers2 specification    pers2.name = "Cecilie"    pers2.age = 24    pers2.job = "Marketing"    pers2.salary = 4500}/* 这是我的代码。我想将整个结构作为参数传递给函数测试。但我不知道我怎样才能做到这一点的语法。请调查一下并帮助我*/
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

你应该将它传递给函数调用test(pers1)test(pers2)



查看完整回答
反对 回复 2023-02-14
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

package main


import "fmt"


type Person struct {

    name   string

    age    int

    job    string

    salary int

}


func test(class Person) {

    // Access and print Pers1 info

    fmt.Println("Name: ", class.name)

    fmt.Println("Age: ", class.age)

    fmt.Println("Job: ", class.job)

    fmt.Println("Salary: ", class.salary)


}

func main() {

    var pers1 Person

    var pers2 Person

    // Pers1 specification

    pers1.name = "Hege"

    pers1.age = 45

    pers1.job = "Teacher"

    pers1.salary = 6000

    // Pers2 specification

    test(pers1)

    pers2.name = "Cecilie"

    pers2.age = 24

    pers2.job = "Marketing"

    pers2.salary = 4500

    test(pers2)


}

/* 试试这个,你必须将它作为 test(pers1) 和 test(pers2) 传递。我希望它现在能正常工作。*/


查看完整回答
反对 回复 2023-02-14
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信