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

Ale*_*lls -1 go

我有这个:

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

除了methods未使用之外.如果我试试这个:

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

我收到此错误:

不能在router.HandleFunc(h.makeRegisterNewUser("/ api/v1/register",v))的参数中使用方法(类型[2]字符串)作为类型[]字符串.

我无法想出这个

sse*_*lla 5

你不需要...inmethods := [...]string{"POST", "PUT"}

 methods := []string{"POST", "PUT"}
Run Code Online (Sandbox Code Playgroud)

编辑:数组与切片略有不同.所述[...]符号创建一个数组,同时像一个可变参数函数Methods()接受片.如果你真的需要一个数组,你可以使用以下方法[:]:

router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods[:]...)
Run Code Online (Sandbox Code Playgroud)