当前位置:   article > 正文

golang中的struct转换为interface{}_go struct 转interface

go struct 转interface

初始化集合

animals := []Animal{Dog{}, Cat{}} //初始化集合

根据集合大小生成interface{}数组 

anis := make([]interface{}, len(animals))

遍历集合并给interface{}赋值 

  1. for k, v := range animals {
  2. anis[k] = "convert to interface{} : " + v.Speak()
  3. }

 完整代码:

  1. package main //包名
  2. //导入模块
  3. import (
  4. "fmt"
  5. )
  6. //接口定义
  7. type Animal interface {
  8. Speak() string //定义一个方法Speak返回类型是字符串
  9. }
  10. //定义Dog结构
  11. type Dog struct {
  12. }
  13. //定义Cat结构
  14. type Cat struct {
  15. }
  16. //在结构Dog中实现接口方法
  17. func (d Dog) Speak() string {
  18. return "Dog Speak"
  19. }
  20. //在结构Cat中实现接口方法
  21. func (c Cat) Speak() string {
  22. return "Cat Speak"
  23. }
  24. //定义一个方法,传入参数是interface{}的集合
  25. func PrintAll(v []interface{}) {
  26. //遍历对象
  27. for _, r := range v {
  28. fmt.Println(r) //输出值
  29. }
  30. }
  31. //入口
  32. func main() {
  33. fmt.Println("hi,go")
  34. animals := []Animal{Dog
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/907846
推荐阅读
相关标签
  

闽ICP备14008679号