既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
// 输出
// cat eat
// dog eat
接口赋值
接口赋值分两种情况:
-
将对象实例赋值给接口
-
将一个接口赋值给另一个接口
下面来分别说说:
将对象实例赋值给接口
还是用上面的例子,因为 Cat
实现了 Eat
接口,所以可以直接将 Cat
实例赋值给接口。
var c Duck = &Cat{}
c.Eat()
在这里一定要传结构体指针,如果直接传结构体会报错:
var c Duck = Cat{}
c.Eat()
command-line-arguments
./09_interface.go:25:6: cannot use Cat{} (type Cat) as type Duck in assignment:
Cat