初始化集合
animals := []Animal{Dog{}, Cat{}} //初始化集合
根据集合大小生成interface{}数组
anis := make([]interface{}, len(animals))
遍历集合并给interface{}赋值
for k, v := range animals {
anis[k] = "convert to interface{} : " + v.Speak()
}
完整代码:
package main //包名
//导入模块
import (
"fmt"
)
//接口定义
type Animal interface {
Speak() string //定义一个方法Speak返回类型是字符串
}
//定义Dog结构
type Dog struct {
}
//定义Cat结构
type Cat struct {
}
//在结构Dog中实现接口方法
func (d Dog) Speak() string {
return "Dog Speak"
}
//在结构Cat中实现接口方法
func (c Cat) Speak() string {
return "Cat Speak"
}
//定义一个方法&#