我似乎无法解决这个奇怪的错误。这是我的代码:
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)
方法。
答案 0 :(得分:3)
您的参数为body *io.ReadCloser
- 表示接口的指针。界面ReadCloser
有Read()
。只需将您的功能签名更改为:
func parseEvent(eventchan chan Event, body io.ReadCloser) error