Go语言接口声明

Go语言接口声明教程

接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。

接口是一种 类型,也是一种抽象结构,不会暴露所含数据的格式、类型及结构。接口类型 是对其它类型行为的抽象和概括。

Golang 中,我们没有必要对于给定的具体类型定义所有满足的接口类型。要实现 Go 语言的接口,只需要实现接口里面所有的方法即可。

Go语言接口声明

语法

type InterfaceName interface{ func1 (param1) return1 func2 (param2) return2 ... }

说明

在 Golang 中,通过 type 关键字将接口定义为自定义的接口名。接口的名字一般都是以 er 做为结尾,比如 Writer、Stringer 和 Closer。

案例

Golang接口声明

声明一个 Golang 接口

package main import ( "fmt" ) // 声明一个 Golang 接口 type Personer interface { Eat() Study(course string) } func main() { fmt.Println("嗨客网(www.haicoder.net)") var p Personer fmt.Println("Personer =", p) }

程序运行后,控制台输出如下:

01_golang接口声明.png

我们定义了一个 Personer 接口,该接口有两个方法,一个是 Eat、另一个是 Study。其中,方法 Eat 没有任何参数和返回值,方法 Study 接受一个 string 类型的 参数

最后,我们使用 var 定义了一个 Personer 类型的接口 p,并使用 print 打印最后定义的变量。

Golang接口声明总结

在 Golang 中,我们没有必要对于给定的具体类型定义所有满足的接口类型。要实现 Go 语言的接口,只需要实现接口里面所有的方法即可。

在 Golang 中,通过 type 关键字将接口定义为自定义的接口名。接口的名字一般都是以 er 做为结尾。Go 语言接口声明语法如下:

type InterfaceName interface{ func1 (param1) return1 func2 (param2) return2 ... }