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

分类: 计算机技术
推荐阅读:
MIPS指令的操作码和操作数 MIPS指令由操作码和操作数组成。操作码指定指令的类型,操作数则指定指令要操作的寄存器或者立即数。在MIPS指令集中,操作码通常占据指令的高6位,操作数则根据指令类型和格式的不同而有所区别。
Rust使用莱布尼茨公式计算圆周率 莱布尼茨公式是一种用于计算圆周率的无限级数。该公式的形式如下:pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... 通过对无限级数进行逐项求和,可以逐步逼近圆周率的值。在 Rust 中,可以使用循环和累加器来计算莱布尼茨级数的前N项和。
安装和更新Requests 要安装 Requests,只需要在你的终端(Windows下是CMD)运行以下命令
PyQt6和PySide6对比 PyQt6和PySide6都是用于调用Qt6 API的Python库,使用它们可以轻松在Python语言中创建基于Qt的GUI程序;PyQt6和PySide6最大的不同表现在发行许可上;
Rust中的 if 表达式 if表达式允许根据条件的不同而执行不同的代码分支,如果条件满足,则运行某段代码,如果条件不满足则不运行这段代码;
使用pyi-set_version为PyInstaller打包出来的程序附加版本信息 本文将讲述如何使用 pyi-grab_version 获取版本信息的模板文件,以及使用 pyi-set_version 为打包好的程序附加版本信息。