程序函数条件与返回的区别

区别是:1、语义上没有差别;2、差异的仅是细微细节;3、完全一致。语义上没有差别,但是当有嵌套if…else逻辑并且代码使用缩进来表示代码块的嵌套结构时,名列前茅种写法(可以称之为“guard”写法)可以使用较少的缩进,因为else是隐含的。

程序函数条件与返回的区别-Worktile社区

1、语义上没有差别

但是当有嵌套if…else逻辑并且代码使用缩进来表示代码块的嵌套结构时,名列前茅种写法(可以称之为“guard”写法)可以使用较少的缩进,因为else是隐含的。

这种写法在if的then块的末尾是个return。由于它位于函数中间而不是末尾,所以也叫做“early return”。这种early return使这个then块可以被看作控制流的终结块,而在这个if之后的部分就会隐含着else(或者说if (!condition))的语义。

2、差异的仅是细微细节

在需要关心的层面上实现相同;有差异的仅是细微细节,可忽略。

Lua给它生成的字节码几乎一样:

Lua 5.2.3:

3、完全一致

如果用Java来写题主的例子,会是:public class xx {

  public static int dum1(boolean t) {

    if (t) return 1;

    return 0;

  }

  public static int dum2(boolean t) {

    if (t) return 1;

    else return 0;

  }

}

然后借助HotSpot Client Compiler(C1)来分析一个“合理的编译器”的做法。最后结果两者完全一样。

延伸阅读:

什么是程序函数?

计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理;所谓出口,就是指函数的函数值,在计算机求得之后,由此口带回给调用它的程序。

如sin(30)=0.5,这里的30就是函数的参数值,它将由入口传给计算机,供计算机处理,而0.5就是函数值,它将由出口返回给调用这个函数的程序。另外,我们数学里的函数是固定的那些,而计算机中的函数,可以根据其运算功能,由我们自己去定义,只要是运算功能是固定的,我们就可以把它定义成一个函数,这样可以避免相同的程序段在程序中重复出现,在需要它时,只需要调用相应的函数就行了。这样不仅可以使我们编写的程序精简,而且可以使我们的程序更富有可读性。

文章标题:程序函数条件与返回的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38589

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编
上一篇 2023年2月17日 上午2:27
下一篇 2023年2月17日 上午2:29

相关推荐

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部