duanliao6077 2018-10-29 05:54
浏览 20
已采纳

无法传播数组以作为多个参数传递

I have this:

methods := [...]string{"POST", "PUT"}
router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods("POST", "PUT")

that works except methods is unused. If I try this:

methods := [...]string{"POST", "PUT"}
router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods...)

I get this error:

cannot use methods (type [2]string) as type []string in argument to router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods

I can't figure this one out

  • 写回答

2条回答 默认 最新

  • duandu5846 2018-10-29 06:18
    关注

    You don't need the ... in methods := [...]string{"POST", "PUT"}

     methods := []string{"POST", "PUT"}
    

    Edit: Arrays are slightly different from slices. The [...] notation creates an array while a variadic function like Methods() accepts a slice. If you really need an array you can take a slice of it using [:]:

    router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods[:]...)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线