
golang interface 中是否包含属性
在 golang 中,interface 定义了一组方法,用于定义对象的行为。那么,interface 是否可以除了声明方法外,还声明属性呢?
答案:
golang interface 仅包含方法,而不包含属性。属性通常声明在结构体内。
示例:
立即学习“go语言免费学习笔记(深入)”;
下例中,无法在 router interface 中声明 servicename 属性:
type router interface {
servicename string
route(msgb []byte) error
}相反,应将 servicename 属性声明在结构体内,如下所示:
type Router struct {
ServiceName string
}
func (r Router) Route(msgB []byte) error {
// ...
}










