Go编译器未定义方法

Go编译器未定义方法,go,compiler-errors,Go,Compiler Errors,我收到一个编译器错误w。写入未定义类型rest.ResponseWriter没有字段或方法写入 我创建了一个裸体测试文件,但遇到了相同的问题: package server import ( "github.com/ant0ine/go-json-rest/rest" ) func WriteTest(w rest.ResponseWriter) { var bs []byte w.Write(bs) } 编译器所说的未定义的方法肯定是在re

我收到一个编译器错误w。写入未定义类型rest.ResponseWriter没有字段或方法写入

我创建了一个裸体测试文件,但遇到了相同的问题:

package server

import (
        "github.com/ant0ine/go-json-rest/rest"
)

func WriteTest(w rest.ResponseWriter) {
        var bs []byte
        w.Write(bs)
}

编译器所说的未定义的方法肯定是在responseWriter上定义的。

Write。注意小写的r.

rest.reponsWriter类型没有写入,它有以下方法:

Header
WriteJson
EncodeJson
WriteHeader
但是,它说http.ResponseWriter方法可以通过类型断言使用。因此,您应该能够编写以下内容:

package server

import (
        "github.com/ant0ine/go-json-rest/rest"
        "net/http"
)

func WriteTest(w rest.ResponseWriter) {
        var bs []byte
        w.(http.ResponseWriter).Write(bs)
}