我有一个简单的问题 - 我可以使用单值赋值,而方法返回2个值(val和错误)?
resp := http.Get("http://www.google.com/")
答案 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