Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go 返回参数命名

时间:2023年06月10日 阅读:225
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

在Golang中,命名返回参数通常称为命名参数。Golang允许在函数签名或定义中为函数的返回或结果参数指定名称。或者可以说这是函数定义中返回变量的显式命名。基本上,它解决了在return语句中提及变量名称的要求。 通过使用命名返回参数或命名参数,只能在函数末尾使用return关键字将结果返回给调用方。 当函数必须返回多个值时,通常使用此概念。 因此,为了使用户感到舒适并增强代码的可读性,Golang提供了此功能。

声明命名的返回参数

要声明命名结果或返回参数,只需使用函数签名的返回类型部分。以下是在Golang中声明函数的一般语法。

声明没有命名返回参数的函数的语法:

func function_name(Parameter-list)(Return_type){
    // function body.....
}

在这里,Return_Type是可选的,它包含函数返回的值的类型。如果在函数中使用Return_Type,则必须在函数中使用return语句。

使用命名的返回参数声明函数的语法:

func function_name(Parameter-list)(result_parameter1 data__type,result_parameter2 data_type,…。){ 
    //函数体…..
    //返回
}

这(result_parameter1 data__type, result_parameter2 data_type, ....)是命名返回参数列表及其类型。您可以声明n个命名的返回参数。

示例:在下面的程序中,func calculator(a, b int) (mul int, div int)代码行包含命名的返回参数。函数末尾的return语句不包含任何参数。Go编译器将自动返回参数。

package main

import "fmt"

// Main Method
func main() {

    //在这里调用函数
    //函数返回两个值
    m, d := calculator(105, 7)

    fmt.Println("105 x 7 = ", m)
    fmt.Println("105 / 7 = ", d)
}

// 具有命名参数的函数
func calculator(a, b int) (mul int, div int) {

    //在这里,简单的赋值就可以
    //并初始化它的值
    mul = a * b
    div = a / b

    //这里有return关键字

    //没有任何结果参数
    return
}

输出:

105 x 7 =  735
105 / 7 =  15

重要事项

  • 如果所有命名的返回参数的类型是公共的或相同的,则可以指定公共数据类型。将下面的代码与上面阅读的示例进行比较,以便更好地理解。

    //有命名参数的函数
    func calculator(a, b int) (mul, div int) {

    此处,muldiv变量均为int类型。因此,您还可以声明具有通用数据类型的命名参数,例如函数变量(即ab

  • 使用命名返回参数将增强代码的可读性,因为只需读取函数签名就可以知道返回参数。

  • 使用命名的返回参数后,return语句通常称为"裸返"。

  • 默认情况下,Golang用零值定义所有命名变量,函数将能够使用它们。如果函数未修改值,则将自动返回零值。

  • 如果您将使用短声明运算符(:=)初始化命名的返回参数,则将给出错误,因为它们已被Go编译器初始化。因此,您可以使用简单的赋值方式(=)将值分配给命名的返回参数。

    //具有命名参数的函数
    func calculator(a, b int) (mul int, div int) {
    
        //在这里,它将抛出一个错误
        //因为已经定义了参数
        //在函数签名中
        mul := a * b
        div := a / b
    
        //这里有return关键字
        //没有任何结果参数
        return
    }
  • 命名返回参数或裸返回语句仅适用于短函数签名。对于更长的函数,显式返回结果参数(不使用命名的返回参数)以保持代码的可读性。

  • 对于命名返回参数,必须使用"裸返"的return语句。

相关知识:Golang中的函数

打赏

本文地址:https://www.momojc.cn/golang/go-named-return-parameters.html

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.039 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计