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

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

    pers2.name = "Cecilie"

    pers2.age = 24

    pers2.job = "Marketing"

    pers2.salary = 4500


}

/* 这是我的代码。我想将整个结构作为参数传递给函数测试。但我不知道我怎样才能做到这一点的语法。请调查一下并帮助我*/


一只名叫tom的猫
浏览 101回答 2
2回答

ITMISS

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

慕娘9325324

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    test(pers1)    pers2.name = "Cecilie"    pers2.age = 24    pers2.job = "Marketing"    pers2.salary = 4500    test(pers2)}/* 试试这个,你必须将它作为 test(pers1) 和 test(pers2) 传递。我希望它现在能正常工作。*/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go