为了防止在我的项目的不同文件中存在多个依赖项,并且由于我可能会改变数据的呈现方式,我决定为draw2d 包创建一个“接口”(不是在 golang 意义上,而是在架构方式中)由于我不需要其他任何东西,我只是重命名了其中一种类型:type CanvasContext draw2dimg.GraphicContext在我的一个模块中,我有以下代码(路径是 CanvasContext 变量):// initialization and some code omitted for claritypath.SetFillColor(color.RGBA{0x44, 0xff, 0x44, 0xff})path.SetStrokeColor(color.RGBA{0x44, 0x44, 0x44, 0xff})path.SetLineWidth(5)// some more code herepath.Close()path.FillStroke()在路径上的所有这些方法调用中,只有 FillStroke 因编译错误而失败:path.FillStroke 未定义(类型 *drawing.CanvasContext 没有字段或方法 FillStroke)为了防止它,我必须重新定义 FillStroke,而不是任何其他方法,使用:func (cc *CanvasContext) FillStroke() { gc := draw2dimg.GraphicContext(*cc) gc.FillStroke()}为什么我只需要重新定义一个而不是任何其他调用?
1 回答
- 1 回答
- 0 关注
- 138 浏览
添加回答
举报
0/150
提交
取消