gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 03:30:22 26 4
gpt4 key购买 nike

我有这个:

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

除了 methods 未被使用外,它是有效的。如果我尝试这样做:

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

我收到这个错误:

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

我想不通

最佳答案

您不需要 methods 中的 ... := [...]string{"POST", "PUT"}

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

编辑:数组与 slice 略有不同。 [...] 表示法创建一个数组,而像 Methods() 这样的可变参数函数接受一个 slice 。如果你真的需要一个数组,你可以使用 [:] 获取它的一部分:

router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods[:]...)

关于go - 无法传播数组以作为多个参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53039515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com