Исходники и презентации
This commit is contained in:
23
lessons/interfaces/interface_with_receiver_reason/main.go
Normal file
23
lessons/interfaces/interface_with_receiver_reason/main.go
Normal file
@ -0,0 +1,23 @@
|
||||
package main
|
||||
|
||||
type Getter interface {
|
||||
Get() interface{}
|
||||
}
|
||||
|
||||
type PointerGetter struct{}
|
||||
|
||||
func (p *PointerGetter) Get() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func get() PointerGetter {
|
||||
return PointerGetter{}
|
||||
}
|
||||
|
||||
func main() {
|
||||
var ptrGetter PointerGetter
|
||||
ptrGetter.Get() // ok
|
||||
|
||||
var getter Getter = get() // error
|
||||
_ = getter
|
||||
}
|
||||
Reference in New Issue
Block a user