亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

去,在結構中如何引用當前對象(像java和c++中的這個)?

去,在結構中如何引用當前對象(像java和c++中的這個)?

Go
喵喔喔 2021-06-04 14:33:14
什么是 go 的this(或self在 python 中)構造?type Shape struct {    isAlive bool}func (shape *Shape) setAlive(isAlive bool) {}在setAlive函數中我該怎么做this.isAlive = isAlive;?
查看完整描述

2 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

在您的示例中,shape是接收器。你甚至可以這樣寫:


func (this *Shape) setAlive(isAlive bool) {

    this.isAlive = isAlive

}


查看完整回答
反對 回復 2021-06-07
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

Go 的方法聲明在方法名稱前面有一個所謂的接收器。在您的示例中,它是(shape *Shape). 當您致電時,foo.setAlive(false) foo將傳遞shape給setAlive.


所以基本上以下是語法糖


func (shape *Shape) setAlive(isAlive bool) {

    shape.isAlive = isAlive

}


foo.setAlive(false)

為了


func setAlive(shape *Shape, isAlive bool) {

    shape.isAlive = isAlive

}


setAlive(foo, false)


查看完整回答
反對 回復 2021-06-07
  • 2 回答
  • 0 關注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號