body.Read undefined(type * io.ReadCloser没有字段或方法Read)

时间:2014-10-16 21:10:27

标签: go

我似乎无法解决这个奇怪的错误。这是我的代码:

resp, err := http.Get("example.com/my/text/file.conf")
...
err = parseEvent(eventchan, &resp.Body)

func parseEvent(eventchan chan Event, body *io.ReadCloser) error {
raw := make([]byte, 1024*1024*32, 1024*1024*32)
n, err := body.Read(raw)

我得到了这个奇怪的错误:

  

./ igen.go:91:body.Read undefined(type * io.ReadCloser没有字段或方法读取)

第91行是上面的n, err := body.Read(raw)行。

我错过了什么? Golang.org告诉我ReadCloser实现了Reader,它具有我试图调用的Read(p []byte) (n int, err error)方法。

1 个答案:

答案 0 :(得分:3)

您的参数为body *io.ReadCloser - 表示接口的指针。界面ReadCloserRead()。只需将您的功能签名更改为:

func parseEvent(eventchan chan Event, body io.ReadCloser) error