面试题答案
一键面试package main
import "fmt"
// 定义Runner接口
type Runner interface {
Run()
}
// Dog结构体实现Runner接口
type Dog struct{}
func (d Dog) Run() {
fmt.Println("Dog is running")
}
// Cat结构体实现Runner接口
type Cat struct{}
func (c Cat) Run() {
fmt.Println("Cat is running")
}
func main() {
// 创建接口类型的切片
var runners []Runner
runners = append(runners, Dog{})
runners = append(runners, Cat{})
// 通过接口类型的切片调用不同结构体实现的Run方法
for _, runner := range runners {
runner.Run()
}
}