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

分类: 计算机技术
推荐阅读:
Rust debug_assert宏的用法和示例 在Rust中,debug_assert宏是一个用于在调试时检查条件的宏;它类似于assert宏,不同之处在于debug_assert仅在Rust编译器的debug模式下进行检查,而在release模式下被完全忽略。
堆段和栈段的区别 堆段(Heap Segment)和栈段(Stack Segment)都是在程序运行时分配内存的区域,但它们有以下不同之处:
使用Python求取前n个自然数的总和 给一个自然数n,使用Python求取前n个自然数的总和;
PySide6 设置按钮(QPushButton)是否可点击(禁用) QPushButton 类有一个名为 enabled 的属性,它用于控制按钮的可用状态。当按钮可用时,用户可以与之交互,点击它执行操作。当按钮不可用时,用户无法与之交互,点击它也不会触发点击事件。
让自己的网页在手机QQ中以卡片的方式分享出去 在使用QQ进行聊天的过程中,发送自己网页的链接时(不是打开网站后分享给好友,单单指将网页链接以文本的形式发送出去),默认情况下是不会以卡片形式显示的,那么如何让别人看到的是卡片呢。
Golang中如何表示无穷大 在Golang中,可以使用math包中的Inf函数来表示无穷大;具体来说,使用math包中的Inf(1)表示正无穷大,Inf(-1)表示负无穷大。