猿问

去,在结构中如何引用当前对象(像java和c++中的这个)?

什么是 go 的this(或self在 python 中)构造?


type Shape struct {

    isAlive bool

}


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


}

在setAlive函数中我该怎么做this.isAlive = isAlive;?


喵喔喔
浏览 208回答 2
2回答

江户川乱折腾

在您的示例中,shape是接收器。你甚至可以这样写:func (this *Shape) setAlive(isAlive bool) {    this.isAlive = isAlive}

神不在的星期二

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)
随时随地看视频慕课网APP

相关分类

Go
我要回答