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

分类: 计算机技术
推荐阅读:
Python实现冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort)是一种比较简单的排序算法。它重复遍历要排序的元素,依次比较两个相邻的元素,如果顺序错误,则将他们交换;直到所有元素顺序正确。
查看Nginx版本信息和编译配置参数 使用命令nginx -v 获取Nginx版本信息;使用命令nginx -V 获取Nginx编译信息;
Rust获取目录下的所有文件名 在 Rust 中,要获取一个目录下的所有文件名,您可以使用标准库中的 std::fs 模块来进行文件系统操作。
Rust语言逐行读取文本文件 这是一个使用Rust语言逐行读取文本文件的例子;
Rust使用莱布尼茨公式计算圆周率 莱布尼茨公式是一种用于计算圆周率的无限级数。该公式的形式如下:pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... 通过对无限级数进行逐项求和,可以逐步逼近圆周率的值。在 Rust 中,可以使用循环和累加器来计算莱布尼茨级数的前N项和。
ValueError: complex() arg is a malformed string解决办法 在Python使用complex()函数对字符串进行转换时,字符串在+或-的周围必须不能有空格。例如complex('1+2j')是合法的,但complex('1 + 2j')会触发ValueError异常。