登录
首页 >  Golang >  Go问答

为什么要命名返回参数?

来源:Golang技术栈

时间:2023-04-05 14:47:06 452浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《为什么要命名返回参数?》,正文内容主要涉及到golang等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

命名函数的返回参数有什么好处?

func namedReturn(i int) (ret int) {
    ret = i
    i += 2
    return
}

func anonReturn(i int) int {
    ret := i
    i += 2
    return ret
}

正确答案

命名它们有一些好处:

  • 它用作文档。
  • 它们被自动声明并初始化为零值。
  • 如果您有多个返回站点,则如果您更改函数的返回值,则无需全部更改,因为它只会说“返回”。

也有缺点,主要是通过声明同名变量很容易意外地隐藏它们。

Effective Go 有一个[关于命名结果参数的部分](http://golang.org/doc/effective_go.html#named- results):

Go 函数的返回或结果“参数”可以命名并用作常规变量,就像传入参数一样。当命名时,它们在函数开始时被初始化为它们的类型的零值;如果函数执行没有参数的 return 语句,则使用结果参数的当前值作为返回值。

这些名称不是强制性的,但它们可以使代码更短更清晰:它们是文档。如果我们命名 nextInt 的结果,很明显哪个返回的 int 是哪个。

func nextInt(b []byte, pos int) (value, nextPos int) {

[...]

以上就是《为什么要命名返回参数?》的详细内容,更多关于golang的资料请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>