golang 没有名字参数_Go 返回参数命名
Go 返回参数命名
在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) {
此处,mul和div变量均为int类型。因此,您还可以声明具有通用数据类型的命名参数,例如函数变量(即a和b)
使用命名返回参数将增强代码的可读性,因为只需读取函数签名就可以知道返回参数。
使用命名的返回参数后,return语句通常称为"裸返"。
默认情况下,Golang用零值定义所有命名变量,函数将能够使用它们。如果函数未修改值,则将自动返回零值。
如果您将使用短声明运算符(:=)初始化命名的返回参数,则将给出错误,因为它们已被Go编译器初始化。因此,您可以使用简单的赋值方式(=)将值分配给命名的返回参数。//具有命名参数的函数
func calculator(a, b int) (mul int, div int) {
//在这里,它将抛出一个错误
//因为已经定义了参数
//在函数签名中
mul := a * b
div := a / b
//这里有return关键字
//没有任何结果参数
return
}
命名返回参数或裸返回语句仅适用于短函数签名。对于更长的函数,显式返回结果参数(不使用命名的返回参数)以保持代码的可读性。
对于命名返回参数,必须使用"裸返"的return语句。
golang 没有名字参数_Go 返回参数命名相关推荐
- Google Maps Api Geocoding 传递参数和返回参数的解析(Json)
转https://blog.csdn.net/zkdemon/article/details/7019117 Google Geocoding API http://code.google.co ...
- $emit传递多个参数_Go语言参数传递方式
一.函数参数传递方式 函数参数传递有2种方式:值传递和引用传递. 值传递是指调用函数时将参数值复制一份到函数,如果对函数参数进行修改,影响不到实际参数. 引用传递是指调用函数时将参数的指针传递到函数中 ...
- SpringBoot→请求参数、返回参数、文件上传、拦截器、异常处理、定时任务、异步任务
web请求static静态资源 localhost:8080/cat.png localhost:8080/test.html localhost:8080/abc/test.html localho ...
- py6_Python 内置函数/普通自定义函数 及参数和返回值
################################################## 目录 活动简介 Python 函数参数 如何定义一个函数 示例定义一个无参函数 形参和实参的概念 ...
- go函数详解:函数定义、形参、返回值定义规范、函数内存分析、不支持重载、支持可变参数、基本数据类型和数组默认都是值传递的、支持自定义数据类型、函数返回值命名
引入 [1]为什么要使用函数: 提高代码的复用型,减少代码的冗余,代码的维护性也提高了 [2]函数的定义: 为完成某一功能的程序指令(语句)的集合,称为函数. [3]基本语法 func 函数名(形参列 ...
- golang 函数一 (定义、参数、返回值)
对于GoLang函数的定义或者说理解: 函数是结构化编程中最小的模块单元,日常开发过程中,将复杂的算法过程分解为若干个小任务(代码块),使程序的结构性更清晰,程序可读性提升,易于后期维护和让别人读懂你 ...
- golang 没有名字参数_在 Golang 中用名字调用函数
上个星期,我写了篇<Function call by name in Golang>.由于是英文的,所以被人诟病(说谁,谁知道!).好吧,现在用中文重新写一遍. Golang 中的函数跟 ...
- Golang 具名返回参数 具名返回值 定义方法
1. 具名返回值就是在定义函数的时候,在定义函数返回值的时候,既定义返回参数的数据类型,也定义返回参数的名称. 2. 具名返回参数的优势是,可以直接在函数内部使用与操作函数的返回值. 3. 具名返回参 ...
- java分布式对象——远程方法中的参数和返回值+远程对象激活
[0]README 1)本文文字描述转自 core java volume 2, 旨在学习 java分布式对象--远程方法中的参数和返回值+远程对象激活 的相关知识: [1]远程方法中的参数和返回值 ...
最新文章
- .substr()在字符串每个字母前面加上一个1
- linux内核网络协议栈--kernel bridge转发逻辑(十一)
- angular js一factory,service,provider创建服务
- 给hadoop 2.7.1 定制树莓派参数
- 各大软件的 java版本_Java 各个版本的软件 1.4 1.5 5.0 6.0
- java 实例化xpath_Java XPath示例教程
- 拥抱Flutter,从0到1构建大前端应用
- Linux查看vga分辨率,调整ubuntu启动界面vga分辨率的方法
- teamviewer 服务器系统,远程支持服务器搭建teamviewer
- 仿微信雷达寻好友动画
- android运行微信小程序,【报Bug】微信小程序在Android真机运行时报错atob is not a function...
- linux消息分发机制,RabbitMQ消息分发轮询和Message Acknowledgment
- PDF编辑技巧 PDF怎么修改文字
- 龙之谷怎么进去服务器维护,龙之谷端游服务器爆满怎么进
- 【7gyy】cdma无线通讯上使用的技术
- 新开发的微信小程序怎样推广引流?
- 计算机组成原理肖铁军第二版答案,计算机组成原理(肖铁军编)第二章习题及答案...
- Android Recovery相关流程汇总
- 图形2d,3d加速简介
- CSDN写漂亮博客的技巧--改字体大小颜色、插入多列表格、字体高亮等