我有一个问题去接口。
这是我的 main.go 文件;
package main
import (
"fmt"
"bitbucket.org/xyz/trash/a"
)
// Second -
type Second interface {
Area() float64
}
// Area -
func Area() float64 {
return 2
}
func main() {
r := new(a.Rect)
n := new(Second)
r.F = *n
fmt.Println(r.Area())
}
还有我的另一个包裹,a.go;
package a
// First -
type First interface {
Area() float64
}
// Rect -
type Rect struct {
F First
}
// Area -
func (r Rect) Area() float64 {
return 1
}
我期待这条线
fmt.Println(r.Area())
打印“2”,而不是“1”。我错过了什么?
谢谢你的帮助。
PIPIONE
手掌心
随时随地看视频慕课网APP
相关分类