我有這個(gè):methods := [...]string{"POST", "PUT"}router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods("POST", "PUT")可以使用,除非methods未使用。如果我試試這個(gè):methods := [...]string{"POST", "PUT"}router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods...)我收到此錯(cuò)誤:不能在 router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods 的參數(shù)中使用方法(類型 [2]string)作為類型 []string我想不通這個(gè)
2 回答
撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
你不需要...在methods := [...]string{"POST", "PUT"}
methods := []string{"POST", "PUT"}編輯:數(shù)組與切片略有不同。該[...]符號(hào)創(chuàng)建一個(gè)數(shù)組,而可變參數(shù)函數(shù)(如Methods()接受切片)。如果你真的需要一個(gè)數(shù)組,你可以使用它的一部分[:]:
router.HandleFunc(h.makeRegisterNewUser("/api/v1/register", v)).Methods(methods[:]...)
至尊寶的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
混淆是由于 Go 和其他語(yǔ)言中的命名略有不同。類似不同長(zhǎng)度數(shù)組的數(shù)據(jù)結(jié)構(gòu),在Go中被各種語(yǔ)言稱為“array”、“vector”、“l(fā)ist”的數(shù)據(jù)結(jié)構(gòu)被稱為“slice”。而 Go 中的“數(shù)組”是另一回事——一種固定長(zhǎng)度的結(jié)構(gòu)。
- 2 回答
- 0 關(guān)注
- 162 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
