我有一个返回值user和err. 当我在范围内调用它时,我已经有 variable user,但没有 variable err,所以编译器/linter 告诉我使用:=运算符语法(我知道我可以err在此调用之前的某个地方var声明),使其看起来像这样:
user := User{"Name"}
...
user, err := functionThatReturnsTwoValues()
if err != nil {
...
问题:在这种特定情况下,在行user, err := functionThatReturnsTwoValues中,用户变量会被重新声明吗?
PS我也了解到,从实际结果来看,这对我来说并不重要,因为最后,无论如何在函数调用后我都会得到具有正确数据的变量。User此外,在我们的例子中,该变量将在堆栈中定义,这意味着即使初始化了 2 个结构,也不会涉及垃圾收集来清理它。
一只斗牛犬
慕斯709654
狐的传说
相关分类