我刚刚开始学习Go语言,但仍在尝试消化一些东西。
Go
我写了一个函数add为:
add
func add(a int, b int) int { return a + b } // works fine func add(a, b) int { return a + b } // ./hello.go:7: undefined: a // ./hello.go:7: undefined: b // Digested: May be I need to give type func add(a, b int) int { return a + b } // works fine interestingly func add(a int, b) int { return a + b } // ./hello.go:7: final function parameter must have type
我真的很困惑或由于缺乏知识而无法理解的用例
final function parameter must have type。
final function parameter must have type
我IdentifierList在“ 您可以在Go中一次声明多个变量吗? ”中提到过:解释了a, bint。
IdentifierList
a, bint
但是您需要具有与函数的每个参数相关联的类型,而上一个int a, b参数列表中并非如此。
int a, b
顺序始终是var type,而不是type var遵循变量声明规范:
var type
type var
VarSpec = IdentifierList ( Type [ "=" ExpressionList ] | "=" ExpressionList ) .
你会总能找到一个类型 后 一个IdentifierList:a int或a, b int
a int
a, b int