关于 Go 的接口和类型断言,以下代码的输出是什么?
package main
import "fmt"
type Greeter interface {
Greet() string
}
type Person struct {
Name string
}
func (p Person) Greet() string {
return "Hello, " + p.Name
}
func main() {
var g Greeter = Person{"Alice"}
fmt.Println(g.Greet())
if p, ok := g.(*Person); ok {
fmt.Println("Name:", p.Name)
} else {
fmt.Println("Type assertion failed")
}
}
