当前位置: > > > > 接口实现接口
来源:stackoverflow
2024-04-21 20:36:34
0浏览
收藏
Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《接口实现接口》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!
问题内容
在../src/io/io.go
中,下面的接口有write
方法
type writer interface { write(p []byte) (n int, err error) }
在../src/net/http/server.go
中,下面的接口responsewriter
实现了writer
接口的write
方法
type ResponseWriter interface { Header() Header Write([]byte) (int, error) WriteHeader(statusCode int) }
从编码风格方面来看,writer
接口嵌入到responsewriter
接口中是否优于实现它?
解决方案
我认为您正在触及 。
因此,在上面的示例中,可以像这样重写接口定义:
type ResponseWriter interface { Header() Header io.Writer // embedded interface type WriteHeader(statusCode int) }
但这是与 io
软件包的预先安排。
http/server.go
接口定义可以在不了解 io
包的情况下存在。
通过 http/server.go
的接口,需要一个与 io 具有相同签名的函数
允许许多其他好处,而无需建立到(外部)write
。writerio
包的正式链接。
今天关于《接口实现接口》的内容介绍就到此结束,如果有什么疑问或者建议,可以在公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!