函数的返回值

题目:

下面这段代码有什么缺陷:

1
2
3
func sum(x, y int)(total int, error) {
return x+y, nil
}

答案:

​ 第二个返回值没有命名。

解析:

​ 在函数有多个返回值时,只要有一个返回值有命名,其他的也必须命名。如果有多个返回值必须加上括号();如果只有要给返回值且命名也必须加上括号。这里第一个返回值有命名total,第二个没有命名,所以错误。

解决办法:

1
2
3
4
5
6
7
8
9
//两个都加上命名
func sum(x, y int) (total int, err error) {
return x + y, nil
}

//两个都不命名
func sum(x, y int) (int, error) {
return x + y, nil
}

函数的返回值
http://example.com/2023/05/05/Go每日一题/函数的返回值/
作者
Feng Tao
发布于
2023年5月5日
更新于
2023年5月5日
许可协议