go语言学习-接口
Go语言中虽然没有传统面向对象语言中类、集成的概念,不过提供了接口的支持,可以使用接口来使用一些面向对象的特性。 在 go 语言中,的接口有下面几个特点: 可以包含0个或多个方法的签名 只定义方法的签名,不包含实现 实现接口不需要显式的声明,只需实现相应方法即可 接口的定义 定义方式如下: type Namer interface { method1(param_list) return_list method2(param_list) return_list ... } 这里的 Namer 就是接口的名字,只要符合标识符的规则即可。不过,通常约定的接口的名字最好以 er, r, able 结尾(视情况而定),这样一眼就知道它是接口。 实现接口 在 go 中实现接口很简单,不需要显式的声明实现了某个接口,想要实现某个接口,只需要实现接口中的所有方法即可。 package main import "fmt" import "math" type Shaper interface { Area() float32 Circumference() float32 } type Rect struct { Width float32 Height float32 } type Circle struct { Radius float32 } func (r Rect) Area() int