我的代碼遇到問題并給出錯誤:我得到的是uc說“未命名和混合引數”。
你能幫我解決這個問題嗎?
func(uc fyne.URIWriteCloser, error) {
...
}

uj5u.com熱心網友回復:
正如函式型別的規范中所指定的:
在引數或結果串列中,名稱 (IdentifierList) 必須全部存在或全部不存在。
- 如果存在,每個名稱代表指定型別的一項(引數或結果),并且簽名中的所有非空白名稱必須是唯一的。
- 如果不存在,則每種型別代表該型別的一項。
引數和結果串列總是用括號括起來的,除非只有一個未命名的結果,它可以寫成無括號的型別。
所以要么洗掉uc,要么添加err error。
uj5u.com熱心網友回復:
看起來您宣告了一個具有命名引數和未命名引數的函式,而您不能這樣做。
有兩種方法可以處理 func 中的引數。您可以命名所有引數,也可以不為任何引數提供名稱。
這是一個有效的 func 簽名,兩個引數都已命名。
func(uc fyne.URIWriteCloser, err error) {
// do something
}
就是這樣,沒有命名引數。
func(fyne.URIWriteCloser, error) {
// do something
}
如果您要命名第一個引數,但不命名第二個引數,如影像所示
func(uc fyne.URIWriteCloser, error) {
// do something
}
然后你會看到這個錯誤
Function has both named and unnamed parameters
所以,問題是第二個引數只是宣告了引數型別而不是名稱,而第一個引數是定義型別并命名引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339720.html
下一篇:Go例程回傳的結果少于實際結果
