【问题标题】:Short variabledeclaration with multiple variables具有多个变量的简短变量声明
【发布时间】:2020-04-07 21:06:54
【问题描述】:

问题是当你声明了一个变量但另一个没有并且你用 := 声明它们时你会得到错误,那么解决方案是什么 示例

var number *int
func(num *int) {
   num,err := function() // that returns int and error
}

但是在这里你会得到错误,因为 num 已经声明了所以该怎么办 声明错误

var err 错误

但是如果我需要在另一个我需要简短声明的事情中使用它怎么办?

【问题讨论】:

  • 您的问题需要进一步阐述。

标签: variables go types declaration


【解决方案1】:

这里:

func f(num *int) {
   num,err := function() // that returns int and error
}

如果function 返回 (int,error),那么您正在尝试将一个 int 分配给一个 *int,这就是您收到错误的原因。如果function 返回*int,一切正常。

如果你需要重新声明 num 无论如何,你可以创建一个新的范围:

func f(num *int) {
   {
      num,err:=function()
      // Here, num is int
      ...
   }
}


【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2016-03-17
    相关资源
    最近更新 更多