为何要有return返回值?

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

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


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


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


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


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


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

相关文章
|
1月前
如何判断`instanceof`操作符的返回值是否为`true`
`instanceof`操作符用于判断一个对象是否是指定类型或其子类型的实例。如果对象是指定类型的实例,则返回`true`,否则返回`false`。例如:`if (obj instanceof MyClass)` 会检查 `obj` 是否是 `MyClass` 类或其子类的实例。
61 3
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();的含义
65 0
|
7月前
printf函数的返回值
printf函数的返回值
43 0
|
存储 数据库
案例09-数据类型不一致导致equals判断为false
数据类型不一致导致equals判断为false
案例09-数据类型不一致导致equals判断为false
return的作用
js中的函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名( ) 通过return实现的。 只要函数遇到return 就把后面的结果,返回给函数的调用者。 函数名 ( ) = return 后面的结果。
|
Java Apache Spring
isEmpty函数的调用
StringUtils中isEmpty函数的使用
180 0
isEmpty函数的调用
printf 函数的返回值问题
printf 函数的返回值问题
126 0
printf 函数的返回值问题
|
存储
==与equals方法的区别
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量的引用地址是否相等,只能用==操作符。
135 0
|
C++
一个函数两个return
一个函数两个return
220 0