文章目录
概要整体架构流程技术名词解释技术细节小结
博主猫头虎的技术世界
欢迎来到猫头虎的博客 — 探索技术的无限可能!
专栏链接: 精选专栏: - [《面试题大全》](https://blog.csdn.net/qq_44866828/category_11204494.html) — 面试准备的宝典! - [《IDEA开发秘籍》](https://blog.csdn.net/qq_44866828/category_10895109.html) — 提升你的IDEA技能! - [《100天精通Golang》](https://blog.csdn.net/qq_44866828/category_12339137.html) — Go语言学习之旅!
领域矩阵: 猫头虎技术领域矩阵:
深入探索各技术领域,发现知识的交汇点。了解更多,请访问: - [猫头虎技术矩阵](https://bbs.csdn.net/topics/617720781) - [新矩阵备用链接](https://bbs.csdn.net/topics/617717169)
Go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。
实例
实例
/* 定义接口 */ type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_type] ... method_namen [return_type] }
/* 定义结构体 */ type struct_name struct { /* variables */ }
/* 实现接口方法 */ func (struct_name_variable struct_name) method_name1() [return_type] { /* 方法实现 */ } ... func (struct_name_variable struct_name) method_namen() [return_type] { /* 方法实现*/ }
实例
实例
package main
import ( "fmt" )
type Phone interface { call() }
type NokiaPhone struct { }
func (nokiaPhone NokiaPhone) call() { fmt.Println("I am Nokia, I can call you!") }
type IPhone struct { }
func (iPhone IPhone) call() { fmt.Println("I am iPhone, I can call you!") }
func main() { var phone Phone
phone = new(NokiaPhone) phone.call()
phone = new(IPhone) phone.call()
}
在上面的例子中,我们定义了一个接口Phone,接口里面有一个方法call()。然后我们在main函数里面定义了一个Phone类型变量,并分别为之赋值为NokiaPhone和IPhone。然后调用call()方法,输出结果如下:
I am Nokia, I can call you!
I am iPhone, I can call you!
原创声明 - [ ] 原创作者: 猫头虎
- [ ] 作者wx: Libin9iOak
- [ ] 作者公众号: 猫头虎技术团队
学习复习✔✔
---
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
>点击`下方名片`,加入IT技术核心学习团队。一起探索科技的未来,洞察Go生态,共同成长。
精彩链接
发表评论