中國網際網路大佬隱退簡史
阿新 • • 發佈:2021-12-23
...
初始化匿名成員為介面的結構體,初始化引數需要是指標,ide幫忙解決了,結構體,可以直接呼叫初始化引數實現的方法,也就是介面內的方法
package main import "log" type Bird interface { Biss() } type Lan struct{} func (l *Lan) Biss() { log.Println("Lan Biss") } type Hus struct { Bird } func main() { var l Lan = Lan{} var hus Hus = Hus{&l} hus.Biss() l2 := new(Lan) var hus1 Hus = Hus{l2} hus1.Biss() }
...
結構體A內嵌匿名結構體b和c,則A使用b和c初始化後 ,可以直接呼叫b和c實現的方法
當b c繫結同名函式時,A不能呼叫該方法,不同名的不收該限制
package main import "log" type Bird struct { Name string Age int } type Dog struct { Name string Age int } func (b *Bird) Say() { log.Println("bird say") } func (d *Dog) Eat() { log.Println("Dog eat") } type Ani struct { Bird Dog } func main() { b := Bird{"bb", 11} d := Dog{"dd", 11} a := Ani{b, d} a.Eat() }