我只是在学习Go并编写了以下struct(Image)来实现该image.Image接口。
package main
import (
"image"
"image/color"
"code.google.com/p/go-tour/pic"
)
type Image struct{}
func (img Image) ColorModel() color.Model {
return color.RGBAModel
}
func (img Image) Bounds() image.Rectangle {
return image.Rect(0, 0, 100, 100)
}
func (img Image) At(x, y int) color.Color {
return color.RGBA{100, 100, 255, 255}
}
func main() {
m := Image{}
pic.ShowImage(m)
}
如果我只是导入image/color而不是import image,image.Rect则是未定义的。为什么?还不应该image/color介绍的方法和属性image吗?
另外,如果我将功能接收器从更改(img Image)为(img *Image),则会出现错误:
Image does not implement image.Image (At method requires pointer receiver)
这是为什么?不(img *Image)指示指针接收器吗?
相关分类