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 关注
- 189 浏览
添加回答
举报
0/150
提交
取消