您的位置 首页 编程知识

Go 接口可以声明属性吗?

go 接口中对属性的声明 go 接口定义了方法集,但不能声明成员属性。类似于以下声明中,使用字符串类型的ser…

Go 接口可以声明属性吗?

go 接口中对属性的声明

go 接口定义了方法集,但不能声明成员属性。类似于以下声明中,使用字符串类型的servicename字段来定义属性是不行的:

type router interface {     servicename string     route(msgb []byte) error }
登录后复制

原因:

go 接口只是一种行为契约,定义一组方法。接口不能包含实体,例如属性。因此,servicename字段不能作为接口的一部分。

实现属性:

如果你需要属性,可以将其放在结构体内。结构体可以声明和初始化属性,并实现接口的方法:

type Router struct {     ServiceName string }  func (r Router) Route(msgB []byte) error {     // ...     return nil }
登录后复制

通过这种方式,你可以同时拥有属性和实现接口的方法。

以上就是Go 接口可以声明属性吗?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3146.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部