为了账号安全,请及时绑定邮箱和手机立即绑定

语法错误函数返回值

语法错误函数返回值

Go
繁星coding 2021-09-27 20:56:49
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)

}


查看完整回答
反对 回复 2021-09-27
  • 1 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号