我是靠谱客的博主 细心大侠,最近开发中收集的这篇文章主要介绍go语言学习笔记 — 接口 — 接口声明:接口是什么,接口的声明形式,开发中常见的接口写法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. go语言的接口是什么
- 具体特性
接口是双方约定的一种合作协议。接口实现者不需要关心接口被如何使用,调用者也不需要关心接口的实现细节。
- 抽象特性
接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式、类型、结构。
2. 接口的声明形式
每个接口(类型)由数个方法组成。接口定义如下:
type 接口(类型)名 interface {
方法名1(参数列表1) (返回值列表1)
方法名2(参数列表2) (返回值列表2)
...
}
接口(类型)名:使用type关键字声明自定义类型——接口。接口命名一般约定在单词后添加er,如写操作接口为Writer,有字符串功能的接口为String,有关闭功能的接口叫Closer。
方法名:当接口(类型)首字母是大写,且方法名首字母也大写时,这个方法可以被接口所在包之外的代码访问。
参数列表、返回值列表:两者中的参数变量名可以被忽略。如
type writer interface {
Write([]byte) error
}
3. 开发中常见的接口写法
go内置包中有很多接口,如io包中的Writer接口:
type Writer interface {
Write(p []byte) (n int, err error)
}
Writer接口可以调用Write()方法,写入一个字节切片([]byte),返回值表明写入字节数(n int)和可能发生的错误(err error)。还有fmt包的Stringer接口:
type Stringer interface {
String() string
}
Stringer接口使用频率较高,把对象以字符串形式展现。在调用String()方法时,都可以获得对象对应的字符串。
go语言每个接口中的方法数量不会太多。go希望一个接口只精确描述一个特定功能,然后通过多个接口内嵌与组合的方式,把简单接口扩展为复杂接口。
最后
以上就是细心大侠为你收集整理的go语言学习笔记 — 接口 — 接口声明:接口是什么,接口的声明形式,开发中常见的接口写法的全部内容,希望文章能够帮你解决go语言学习笔记 — 接口 — 接口声明:接口是什么,接口的声明形式,开发中常见的接口写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复