我是golang的初学者,正在尝试接口.我想将接口保存在一个单独的包中,以便我可以使用它在各种其他包中实现它,也将它提供给其他团队(.a文件),以便他们可以实现自定义插件.请参阅下面的示例,了解我希望实现的目标.
--- Folder structure ---
gitlab.com/myproject/
interfaces/
shaper.go
shapes/
rectangle.go
circle.go
---- shaper.go ---
package interfaces
type Shaper interface{
Area() int
}
Run Code Online (Sandbox Code Playgroud)
如何确保rectangle.go实现整形器接口?我明白go隐式实现接口,这是否意味着rectangle.go自动实现shaper.go即使它在不同的包中?
我尝试过如下,但是当我运行gofmt工具时,它会删除导入,因为它未被使用.
--- rectangle.go ---
package shapes
import "gitlab.com/myproject/interfaces"
type rectangle struct{
length int
width int
}
func (r rectangle) Area() int {
return r.length * r.width
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
如何在Windows XP和7 中的" 打开方式..."上下文菜单中自定义程序的名称?
例如:我在Windows上安装了3个名为XYZ的产品版本; .x
文件与xyz.exe
(COM注册)相关联.
该产品的所有版本都具有相同的.exe
名称.现在,在Open With ...上下文菜单中,它显示XYZ程序3次(安装了3个版本),但名称相同.
如何让它显示版本?即XYZ V1.0,XYZ V2.0等