你能在 Go 中一次声明多个变量吗?

新手上路,请多包涵

是否可以使用 Golang 一次声明多个变量?

例如,在 Python 中,您可以键入:

 a = b = c = 80

所有值都将为 80。

原文由 Kevin Burke 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 642
2 个回答

是的你可以:

 var a, b, c string
a = "foo"
fmt.Println(a)

您可以为内联赋值做一些类似的事情,但不是很方便:

 a, b, c := 80, 80, 80

原文由 Kevin Burke 发布,翻译遵循 CC BY-SA 3.0 许可协议

就语言规范而言,这是因为变量定义为:

 VarDecl     = "var" ( VarSpec | "(" { VarSpec ";" } ")" ) .
VarSpec     = IdentifierList ( Type [ "=" ExpressionList ] | "=" ExpressionList ) .

(来自《 变量声明》)

一种类型的标识符列表,分配给一个 表达式ExpressionList

 const a, b, c = 3, 4, "foo"  // a = 3, b = 4, c = "foo", untyped integer and string constants
const u, v float32 = 0, 3    // u = 0.0, v = 3.0

原文由 VonC 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题