我可以将单个变量用于返回2个参数的方法

时间:2016-03-03 06:53:45

标签: go

我有一个简单的问题 - 我可以使用单值赋值,而方法返回2个值(val和错误)?

resp := http.Get("http://www.google.com/")

2 个答案:

答案 0 :(得分:3)

赋值左侧的操作数数量必须与函数返回的值的数量相匹配。

您可以使用blank identifier忽略返回值:

resp, _ := http.Get("http://www.google.com/")

忽略这样的错误是不好的做法。

答案 1 :(得分:1)

来自Go语言规范:

  

元组赋值分配多​​值的各个元素   对变量列表的操作。有两种形式。在第一个,   右手操作数是一个单值多值表达式,如a   函数调用,通道或映射操作或类型断言。的的   左侧操作数的数量必须与数量匹配   价值观。

For instance, if f is a function returning two values, 
x, y = f() assigns the first value to x and the second to y.
  

空白标识符提供了忽略右侧值的方法   在作业中:

_ = x       // evaluate x but ignore it
x, _ = f()  // evaluate f() but ignore second result value