Maison >développement back-end >Tutoriel Python >为什么大多数编程语言被设计成函数只有一个返回值,而不是多个?
程序语言的发展很大的部分受人类正常思维方式的影响,在生活中,给一个输入,有两个输出很常见,而大多数编程语言为什么不这么设计?
—————————————————————
不同编程语言因设计的不同支持1个或多个返回值,故于2016—02—06更改问题。
<code class="language-text">struct Para...;//define a parameter struct
struct Ret...;//define a return struct
Ret func(Para p){
...
}
Para para = XXX;
Ret ret;
ret = func(para);
</code>
在runtime允许多值return并不是很有用,虽然看上去好像非常有用,如果这是一个必要的语言机制,那现在大多数语言就应该已经都支持了。如果你用过有这个功能的语言,比如Go,也多用来方便错误处理,它不一定要这么用,但实际的代码里通常就是这样<code class="language-text">result, err := func()
result, _ := func()
</code>
fork被你吃了?(ー`´ー)
C里调一个指针或者结构体指针,你想返回多少都行,只要内存够。
请看Lua,函数参数可多可少,返回值可多可少,接收返回值也是可多可少。
流行得比较早的语言,比如pascal和c,都只有一个返回比较简单类型的返回值,这可能是为了把返回值放到某寄存器中返回,这样调用者可以直接用,有利于提高程序的速度。过去cpu是很慢的,这种优化很有价值。