Go语言的多返回值

Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。

示例:

func fun1()(a string,b int){
	return "hello world",123
}

因为返回值都已经有名字,因此各个返回值也可以用如下方式来在不同的位置进行赋值,从而提供了极大的灵活性:

func fun1()(a string,b int){
	a = "hello world"
	b = 123
	return
}

并不是每一个返回值都必须赋值,没有被明确赋值的返回值将保持默认的空值。而函数的调用相比C/C++语言要简化很多:

a , b = func1()

如果开发者只对该函数其中的某个返回值表示感兴趣的话,也可以直接用下划线作为占位符来忽略其它不相关的返回值。下面的调用表示调用者只希望接受b值,这样可以避免声明完全没用的变量:

_ , b = func1()

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1445.html

分类: 计算机技术
推荐阅读:
IDLE是什么? IDLE是Python的一个集成开发与学习环境(Integrated Development and Learning Enviroment);与Python捆绑在一起,安装好Python以后,IDLE会自动安装;它使用Python 和Tkinter Gui编写。
PySide6中使用QLabel显示图片 QLabel部件不仅可以用来显示文字,还可用来显示图片;本文将使用PySide6中的QLabel部件和QPixmap部件来显示一张图片;
C语言islower()函数:判断字符是否为小写字母 islower()是C语言标准库中的一个函数,用于检查一个字符是否为小写字符;如果传入的字符参数是小写字母,则返回非0值,否则返回0;
为什么有大量阿里云IP访问网站? 为什么有大量阿里云IP访问网站?其原因可能有两个,一是网站被攻击,二是你使用了阿里云CDN、负载均衡等产品;
Python计算两个矩阵的和 使用Python计算两个矩阵的和,并打印结果;
斐波那契数列C语言多种实现方法 本文将使用C语言通过递归、动态规划、通项公式等技巧来计算斐波那契数列;并获得斐波那契数列的第n项值;