小编典典

Go函数声明语法

go

我刚刚开始学习Go语言,但仍在尝试消化一些东西。

我写了一个函数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


阅读 340

收藏
2020-07-02

共1个答案

小编典典

IdentifierList在“
您可以在Go中一次声明多个变量吗? ”中提到过:解释了a, bint

但是您需要具有与函数的每个参数相关联的类型,而上一个int a, b参数列表中并非如此。

顺序始终是var type,而不是type var遵循变量声明规范

 VarSpec     = IdentifierList ( Type  [ "=" ExpressionList ] | "=" ExpressionList ) .

你会总能找到一个类型 一个IdentifierLista inta, b int

2020-07-02