-
函数:
- 在 Go 语言中,函数是一等公民,可以像其他变量一样被传递、赋值和使用。
- 函数可以单独定义,也可以作为匿名函数或闭包使用。
- 可以定义带有参数和返回值的函数,函数可以作为参数传递给其他函数,也可以作为返回值返回给其他函数。
- 函数也可以被用来实现接口中的方法。
-
接口:
- 接口是一组方法的集合,接口定义了对象的行为。
- 在接口中,只定义方法的签名而不需要方法的具体实现。
- 任何类型只要拥有了接口需要的所有方法,就被认为实现了这个接口。
- 接口可以用于实现多态,通过接口可以对不同的具体类型进行统一的处理。
示例:
// 定义接口
type Shape interface {
Area() float64
}
// 定义矩形类型
type Rectangle struct {
Width float64
Height float64
}
// 定义矩形类型的 Area 方法
func (r Rectangle) Area() float64 {
return r.Width * r.Height
}
// 定义一个计算面积的函数,接收 Shape 接口类型的参数
func PrintArea(s Shape) {
fmt.Println("形状的面积为", s.Area())
}
func main() {
// 创建一个矩形实例
rect := Rectangle{Width: 3, Height: 4}
// 调用函数使用接口
PrintArea(rect)
}
在这个示例中,我们定义了一个接口Shape
,并定义了一个矩形类型Rectangle
,它实现了Shape
接口的方法Area
。然后我们定义了一个接受Shape
接口类型参数的函数PrintArea
,并最终在main
函数中调用了PrintArea
函数。
这个例子展示了函数和接口在 Go 语言中的使用方式,以及它们之间是如何配合工作的。
标签:定义,Area,接口,用法,Shape,PrintArea,Go,函数 From: https://blog.csdn.net/weixin_42492982/article/details/136692158