问题的标题几乎引用自golang 规范:
给定一个结构类型 S 和一个名为 T 的类型,提升的方法包含在结构的方法集中,如下所示:
如果 S 包含匿名字段 T,则 S 和 *S 的方法集都包含接收者 T 的提升方法。 *S 的方法集还包括接收者 *T 的提升方法。
这是一个go Playground展示了该方法inc()的推广。
package main
import (
"fmt"
)
// just an int wrapper
type integer struct {
i int
}
func (self *integer) inc() {
self.i++
}
type counter struct {
integer
}
func main() {
c := counter{}
c.inc()
fmt.Println(c)
}
犯罪嫌疑人X
相关分类