为什么要将 Golang 接口命名为 "Interface"?
Why would you name a Golang interface "Interface"?
我只知道 Golang 中关于接口名称的一种约定——在单个 func 接口的后缀加上它们的方法名称加上 "er"。我还注意到另一个 - Interface
。由于一个包只能有一个类型和一个名称,我推断它一定是作为包的主要接口——你可以称之为 "package interface"。
我还有其他原因吗?
命名接口类型 Interface
不是惯例——它只在标准库中使用过一次:sort.Interface
.
也许名字 Interface
不是最好的或最直观的——Sortable
会更直观——但我想 Go 的作者选择了那个名字是因为它和包名一起是更好:sort.Interface
vs sort.Sortable
(后者重复 sort
)。
我只知道 Golang 中关于接口名称的一种约定——在单个 func 接口的后缀加上它们的方法名称加上 "er"。我还注意到另一个 - Interface
。由于一个包只能有一个类型和一个名称,我推断它一定是作为包的主要接口——你可以称之为 "package interface"。
我还有其他原因吗?
命名接口类型 Interface
不是惯例——它只在标准库中使用过一次:sort.Interface
.
也许名字 Interface
不是最好的或最直观的——Sortable
会更直观——但我想 Go 的作者选择了那个名字是因为它和包名一起是更好:sort.Interface
vs sort.Sortable
(后者重复 sort
)。