1 回答

TA貢獻1951條經驗 獲得超3個贊
參數名稱是可選的,在接口的情況下,它可以純粹用于文檔目的。
規格:接口:
InterfaceType = "interface" "{" { ( MethodSpec | InterfaceTypeName ) ";" } "}" .
MethodSpec = MethodName Signature .
方法簽名在哪里:
Signature = Parameters [ Result ] .
Result = Parameters | Type .
Parameters = "(" [ ParameterList [ "," ] ] ")" .
ParameterList = ParameterDecl { "," ParameterDecl } .
ParameterDecl = [ IdentifierList ] [ "..." ] Type .
如您所見,IdentifierListinParameterDecl在方括號中,這意味著它是可選的。
想一個這樣的例子:
type FileMover interface {
MoveFile(dst, src string) error
}
它“響亮而清晰”。如果我們省略參數名稱怎么辦?
type FileMover interface {
MoveFile(string, string) error
}
第一個參數是否標識源或目標并不明顯。提供dst和src命名文件,它使 thar 清楚。
當你實現一個接口并為一個方法提供實現時,如果你想引用參數,你必須命名它們,因為你用它們的名字來引用它們,但是如果你不想引用參數, 即使這樣它們也可能被省略。
- 1 回答
- 0 關注
- 95 瀏覽
添加回答
舉報