登录
首页 >  Golang >  Go问答

接收器函数返回指针而非整数

来源:stackoverflow

时间:2024-03-07 13:54:24 445浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《接收器函数返回指针而非整数》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我编写了一个接收器函数,它应该返回一个整数,该整数是房屋地址的编号(定义的结构)。请参阅下面我的代码。

当我调用 getnumber 接收器函数时,我得到了看起来像内存地址 (0x47dfc0) 的内容。我应该得到 200。我不明白为什么。

如果简单地执行:fmt.println(foo_house),我会得到我所期望的:{200 barrington}

package main

import "fmt"

type house struct {
    number int
    street string
}

// receiver function
func (h house) get_number() int {
    return h.number
}

func main() {
    var foo_house house
    foo_house.number = 200
    foo_house.street = "Barrington"
    n := foo_house.get_number
    fmt.Println(foo_house)
    fmt.Println(n)
}

正确答案


你得到的是方法get_number的地址:

您需要评估 get_number 才能获取其值,例如:

n := foo_house.get_number()

今天关于《接收器函数返回指针而非整数》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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