2015-10-07 48 views
0

我得到一個編譯器錯誤「w.Write未定義(類型rest.ResponseWriter沒有字段或方法Write)」轉到編譯未定義的方法

我創建了一個光禿禿的骨頭測試文件,並有同樣的問題:

package server 

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

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

編譯器說沒有定義的方法肯定是在rest package

回答

5

的rest.ReponseWriter類型沒有寫,它有以下方法:

Header 
WriteJson 
EncodeJson 
WriteHeader 

然而,它說的是in the comments方法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) 
} 
2

Write定義在responseWriter上。請注意小寫r