接收器函数返回内存地址而不是 int

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


当我调用 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)

}


墨色风雨
浏览 63回答 1
1回答

LEATH

你得到的是方法get_number的地址:您需要评估 get_number 以获取其值,例如:n := foo_house.get_number()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go