站长网 语言 Golang 语言编程使用接口有哪些益处?

Golang 语言编程使用接口有哪些益处?

在 Golang 语言中,接口类型定义了一组方法签名,接口类型的值可以保存实现了这些方法的任何值。 Golang 语言的接口是隐式实现的,它不像其他某些编程语言,使用 implements 关键字显式实现接口,Golang 语言没有 implements 关键字,一个类型只要实现接口

在 Golang 语言中,接口类型定义了一组方法签名,接口类型的值可以保存实现了这些方法的任何值。
 
Golang 语言的接口是隐式实现的,它不像其他某些编程语言,使用 implements 关键字显式实现接口,Golang 语言没有 implements 关键字,一个类型只要实现接口定义的所有方法,就等于实现了该接口,所以也称为 Duck typing。
 
if something looks like a duck, swims like a duck and quacks like a duck then it’s probably a duck.
 
关于 Golang 语言接口的使用,我们已经在前面的文章中介绍过,感兴趣的读者朋友可以翻阅一下。本文我们介绍一下使用接口有哪些好处?
 
02使用接口的好处
在 Golang 语言中,我们使用结构体和方法可以很完美的实现需求。为什么还要使用接口呢?实际上,接口是一个工具,是否选择使用接口,取决于我们自己,它可以使我们的代码更优雅,更简洁,更具可读性。下面我们通过一个简单示例来说明接口的这些好处。
 
示例代码:
 
type Cat struct {
 
}
 
func (c Cat) Say() string {
 return "miaow"
}
 
type Dog struct {
 
}
 
func (d Dog) Say() string {
 return "woof woof"
}
 
func TestSay(t *testing.T) {
 c := Cat{}
 t.Log("Cat say:", c.Say())
 
 d := Dog{}
 t.Log("Dog say:", d.Say())
}
阅读上面这段代码,我们定义了两个结构体 Cat 和 Dog,并分别为其实现了 Say 方法。读者朋友们是否感觉到代码有些重复,因为 Cat 和 Dog 都有相同的签名的方法 Say,所以我们可以使用接口重构一下这段代码。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/biancheng/yuyan/2021/1206/33705.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部