func main(){ ... err := http.ListenAndServe(":9000", access_log(r)) if err != nil { log.Fatal("HTTP server: ", err) }}func access_log(r http.Handler) { f, err := os.OpenFile("log/access.log", os.O_CREATE | os.O_WRONLY | os.O_APPEND, 0666) if err != nil { log.Panic("Access log: ", err) } return handlers.LoggingHandler(io.Writer(f), r)}錯誤# command-line-arguments./main.go:71: access_log(r) used as value./main.go:83: too many arguments to return
1 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
func access_log(r) 沒有定義參數 r 的類型。
一旦你定義了它,編譯應該能夠繼續進行。
./main.go:83: too many arguments to return
該函數定義為沒有返回值,因此出現錯誤。
如果你添加handlers#LoggingHandler的返回類型,那就是 http.Handler.
func access_log(r) http.Handler {
...
// Then you can return:
return handlers.LoggingHandler(io.Writer(f), r)
}
- 1 回答
- 0 關注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消