匿名字段作为指针或匿名字段与往常一样有什么不同。考虑一下,我如何将 Foo 嵌入到 Bar 结构中。
看下面的代码片段:
首先以匿名字段作为指针
package main
import (
"fmt"
)
type Foo struct{}
func (*Foo) Run() {
fmt.Println("Hello")
}
type Bar struct {
*Foo
}
func main() {
bar := new(Bar)
bar.Run()
}
和往常一样的第二个匿名字段:
package main
import (
"fmt"
)
type Foo struct{}
func (*Foo) Run() {
fmt.Println("Hello")
}
type Bar struct {
Foo
}
func main() {
bar := new(Bar)
bar.Run()
}
它们之间有什么不同?
更新:我从revel webframework 中获取了这个示例,它们是如何扩展自定义控制器的。看看这个代码片段
type App struct {
*revel.Controller
}
为什么狂欢使用指针来嵌入控制器结构。它的意义是什么?
吃鸡游戏
相关分类