登录
首页 >  Golang >  Go问答

接口实现接口

来源:stackoverflow

时间:2024-04-21 20:36:34 273浏览 收藏

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接口中是否优于实现它?


解决方案


我认为您正在触及 embedding

因此,在上面的示例中,可以像这样重写接口定义:

type ResponseWriter interface {

    Header() Header

    io.Writer // embedded interface type

    WriteHeader(statusCode int)
}

但这是与 io 软件包的预先安排

http/server.go 接口定义可以在不了解 io 包的情况下存在。

通过 http/server.go 的接口,需要一个与 io 具有相同签名的函数 write。writer 允许许多其他好处,而无需建立到(外部)io 包的正式链接。

今天关于《接口实现接口》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>