为什么必须同时导入“图像/颜色”和“图像”?

我只是在学习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)指示指针接收器吗?


慕尼黑的夜晚无繁华
浏览 149回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go