为何要有return返回值?

简介: 为何要有return返回值?

输出参数能做到的事情,为什么要用返回值呢,直接打印一下不就可以了吗?


接下来就说说有哪些是输出参数做不了的事情,然而返回值能做的,并且效率更高。


区别:调用者必须负责分配或者声明输出参数的存储,必须负责输出参数的有效性。如果这个参数本身是非法的,则往输出参数写数据会出现不可预期的后果。


而对返回值来说,调用者不需要预先分配返回值所占用的空间,这个空间必然存在,它是在生成返回值的时候自动创建的。


用买奶茶打比方的话,输出函数类似于你去买奶茶必须自带杯子不然什么都得不到,而返回值意味着卖家提供了已经打包好的奶茶。


换个角度,对于一个函数来说,只有返回值是必定有效的对外沟通渠道,而调用者传入的输出参数完全可能是非法的。

相关文章
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))
|
算法
三元运算符 return mData == null ? 0 : mData.size();的含义
三元运算符 return mData == null ? 0 : mData.size();的含义
57 0
|
5月前
|
定位技术 C++ Python
C++一个函数返回两个或更多个返回值的方法
C++一个函数返回两个或更多个返回值的方法
145 1
|
5月前
printf函数的返回值
printf函数的返回值
32 0
|| 和 && 操作符的返回值?
|| 和 && 首先会对第一个操作数执行条件判断,如果其不是布尔值就先强制转换为布尔类型,然后再执行条件判断。
return的作用
js中的函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名( ) 通过return实现的。 只要函数遇到return 就把后面的结果,返回给函数的调用者。 函数名 ( ) = return 后面的结果。
|
C++ Python
C++函数如何返回两个或以上的返回值?
本文介绍C++语言中,一个函数返回两个及以上、同类型或不同类型的返回值的方法~
416 1
C++函数如何返回两个或以上的返回值?
|
Java Apache Spring
isEmpty函数的调用
StringUtils中isEmpty函数的使用
152 0
isEmpty函数的调用
printf 函数的返回值问题
printf 函数的返回值问题
116 0
printf 函数的返回值问题
|
C++
一个函数两个return
一个函数两个return
199 0