技术文摘
在 Golang 中如何定义实现了接口的类
2025-01-09 05:03:28 小编
在Golang中如何定义实现了接口的类
在Go语言中,接口是一种抽象类型,它定义了一组方法签名,但不包含方法的具体实现。而类在Go中通常通过结构体来表示。下面我们来详细了解一下在Golang中如何定义实现了接口的类。
我们需要定义一个接口。接口使用type关键字和interface关键字来定义,例如:
type Shape interface {
Area() float64
Perimeter() float64
}
上述代码定义了一个名为Shape的接口,它包含了两个方法Area和Perimeter,这两个方法都返回一个float64类型的值。
接下来,我们可以定义结构体来实现这个接口。例如,我们定义一个表示矩形的结构体:
type Rectangle struct {
width float64
height float64
}
要使Rectangle结构体实现Shape接口,就需要实现接口中定义的所有方法:
func (r Rectangle) Area() float64 {
return r.width * r.height
}
func (r Rectangle) Perimeter() float64 {
return 2 * (r.width + r.height)
}
在上述代码中,我们为Rectangle结构体定义了Area和Perimeter方法,这样Rectangle就实现了Shape接口。
在Go语言中,实现接口是隐式的,不需要像其他语言那样显式地声明实现了某个接口。只要一个结构体实现了接口中定义的所有方法,那么它就被认为是实现了该接口。
我们可以使用实现了接口的结构体实例来调用接口中的方法,例如:
func main() {
rect := Rectangle{width: 5, height: 3}
var s Shape = rect
println(s.Area())
println(s.Perimeter())
}
在上述代码中,我们创建了一个Rectangle结构体的实例rect,然后将其赋值给Shape接口类型的变量s,通过s可以调用Area和Perimeter方法。
在Golang中定义实现了接口的类(结构体),关键在于定义好接口和结构体,并让结构体实现接口中定义的所有方法,通过这种方式可以实现多态和代码的可扩展性。
- 大学女生的废话编程走红!无论懂不懂编程看后都服了
- 五张图读懂 RocketMQ 延时消息机制
- 大规模实时分位数计算之 Quantile Sketches 发展历程
- WWDC 2022:前端开发者应关注哪些信息?
- 初学指南:为何 Flink 的 Java 模块要有 Scala 版本后缀
- Python 编程中独有的循环语句及特性
- 如何快速上传大文件
- 华为开发者大赛启动,500 万奖金,代码能上太空!
- 线上真实排队系统的重构实例分享
- 0 号 - 流计算产品综合洞察:以终为始
- Python IDE 优缺点超全整理,一篇搞定!
- NodeJs 进阶:全面梳理 Node.js 性能优化知识
- 爱彼迎变更 JavaScript 代码打包工具 由 Webpack 为 Metro 缩短构建时间
- Pandas 数据筛选 query 函数实用技能详解
- Squoosh - 开源在线图片压缩工具