赞
踩
初始化集合
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"
- }
-
- //定义一个方法,传入参数是interface{}的集合
- func PrintAll(v []interface{}) {
- //遍历对象
- for _, r := range v {
- fmt.Println(r) //输出值
- }
- }
-
- //入口
- func main() {
- fmt.Println("hi,go")
- animals := []Animal{Dog
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。