【问题标题】:Short-declaration operator shadows global variable短声明运算符隐藏全局变量
【发布时间】:2015-11-20 20:36:05
【问题描述】:

oneFunction 返回interror 类型的2 个值。 我想将第一个值分配给已经存在的变量,并将第二个值分配给一个新变量。


如果我使用短声明运算符:=,将创建两个新变量xerr

var x int
x, err := oneFunction()

为了摆脱创建新的x 变量,我不能使用:= 运算符并在调用oneFunction 之前声明err

    var x int
    var err error
    glob, err = oneFunction()

我想知道是否有另一种方法可以将第一个值设置为全局变量而不是创建一个新值?

【问题讨论】:

  • Go 中没有像 Java 的 this 这样的东西。你所做的是做你想做的最简单、最干净的方法。
  • 感谢您的回答

标签: variables go assign


【解决方案1】:

没有。您声明 var err error 的示例是做您想做的事情的惯用方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多