登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-02-13 23:09:18 405浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《Go 中如何传递结构体作为函数参数?》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

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

}

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


正确答案


您应该将其传递给函数调用,如 test(pers1)test(pers2)

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) 传递。我希望它现在工作正常。*/

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>