go - 界面[golang]中的字段?
问题描述
是否有任何解决方案可以强制结构具有特定属性(在接口中定义)?
或者在接口中定义一个属性(属性,字段)?
如我所见,接口总是接受方法而不是属性?( https://gobyexample.com/interfaces
)
type geo interface {
PrintType()
typ string//not function , but field
}
type circle struct {
typ string
}
func (c circle) PrintType() {
fmt.Println(c.typ)
}
谢谢
解决方案
接口只关乎方法,而不关乎属性,因为接口关乎行为。所以没有办法强制一个结构有一些东西。相反,首选方法是拥有该成员的访问器。
推荐阅读
- amazon-web-services - 想要 SNS 反复提醒
- php - 如何修复 Stripe 错误:网络错误 [errno 77]:错误设置证书验证位置
- wix - WIX 更新程序不使用以前版本的设置参数
- python-3.x - 无法在 docker-compose 文件中为 argparse 传递参数
- javascript - 使用 CSS 或 Javascript 从 Github Gist 列表中删除 / (textnode)
- docker - 如何连接和加密在不同服务器上运行的 docker 之间的流量?
- javascript - 为什么 javascript 中的 slice() 接受浮点值?
- docker - 如何解决“在 docker 日志中找不到令牌:就绪\。”
- python - argsort 获取每个元素的顺序
- service - 如何在树莓派桌面后激活服务(不是立即启动)?