Тест
Вопрос 5
Что произойдёт при компиляции? (встраивание методов, 1/2)
Go
package main
import "fmt"
type A struct{}
func (A) M() int { return 1 }
type B struct{}
func (B) M() int { return 2 }
type C struct{ A; B }
func main() {
var c C
fmt.Println(c.M())
}
У `C` с встроенными `A` и `B` поднимаются оба метода `M` с одинаковой сигнатурой — вызов `c.M()` неоднозначен, нужно писать `c.A.M()` или `c.B.M()`.