Golang interface 中是否可以声明属性?

Golang interface 中是否可以声明属性?

golang interface 中是否包含属性

golang 中,interface 定义了一组方法,用于定义对象的行为。那么,interface 是否可以除了声明方法外,还声明属性呢?

答案:

golang interface 仅包含方法,而不包含属性。属性通常声明在结构体内。

示例:

下例中,无法在 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 {
    // ...
}

以上就是Golang interface 中是否可以声明属性?的详细内容,更多请关注其它相关文章!