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

区别是: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

相关推荐

  • linux常用命令20个

    linux常用的20个命令是:1、pdw命令;2、ls命令;3、cd命令;4、mkdir命令;5、rmdir命令;6、touch命令;7、cp命令;8、rm命令;9、mv命令;10、cat命令等。pwd命令用于显示工作目录,执行 pwd 命令可立刻得知目前所在的工作目录的绝对路径名称。 1、pwd命…

    2023年3月19日
    57900
  • 怎么做网站

    做网站的步骤:1、学习相关技能;2、建立目标;3、选择托管服务提供商;4、选择一个域名;5、选择网站模板或布局;6、建立相关页面;7、建立支付系统等。学习相关技能是指,学习Web 开发和编码的技能,这些技能有助于DIY网站创建。 1、学习相关技能 在概念化您的新网站之前,首先审核您的相关先决条件技能…

    2023年3月24日
    39800
  • vite和webpack的区别

    Vite和Webpack的区别主要在于:1、原理不同;2、速度不同;3、插件兼容性不同;总体来看,Vite的优势在于快速的热更新和按需编译,而Webpack则在于其插件生态丰富,更适合大型项目。 一、原理不同 Webpack是一种模块打包工具,将所有模块进行静态分析,形成依赖树,然后一次性编译生成文…

    2023年6月1日
    1.1K00
  • DevOps如何提高应用程序的伸缩性

    DevOps通过自动化操作、持续集成/持续部署(CI/CD)、微服务架构、基础设施即代码(IaC)及负载均衡等一系列实践,大幅提升应用程序的伸缩性。 其中,持续集成/持续部署(CI/CD)显著优化了应用程序发布流程,确保了新功能与修复的快速迭代,有助于维持和提升应用在不同负载下的性能。 I. 应用程…

    2024年1月18日
    17200
  • 如何管理手中项目思维导图

    如何管理手中的项目思维导图?项目思维导图 是一种有效的工具,它能帮助项目经理和团队成员对项目的所有关键要素进行可视化,从而促进更好的理解和沟通。要高效管理手中的项目思维导图,你需要掌握几个核心技巧:明确目标、分解任务、确定优先级、持续审视进展、以及促进团队协作。其中,明确目标尤为重要,因为它为项目的…

    2024年4月10日
    5500
  • plc的仿真软件有哪些

    plc的仿真软件有:1、欧姆龙plc编程软件;2、三菱PLC编程软件;3、Delta WPLSoft台达PLC编程软件;4、PLCEdit V2.2.1 正式版;5、松下plc编程软件;6、step7;7、KGL WIN。欧姆龙plc编程软件集成了CX-Programmer V9.5,能够为欧姆龙P…

    2023年1月9日
    9.8K00
  • 列存储数据库中列族的意义是什么

    列存储数据库是一种将数据按照列进行存储的数据库,与传统的行存储数据库相比,列存储数据库在进行数据分析和大数据处理上具有更出色的性能。而列族,是列存储数据库中的一个重要概念,它是一组有逻辑相关性的列的集合。 一、列存储数据库和列族的基本概念 列存储数据库是一种将数据按照列进行存储的数据库,与传统的行存…

    2023年7月31日
    86300
  • okr是什么|OKR

    OKR,全称Objectives and Key Results,是一套管理目标与成果的框架。1、目标Objectives指公司、团队或个人的战略性目标;2、关键结果Key Results则是衡量目标达成情况的具体量化指标。这种方法鼓励设定具有挑战性、可衡量的关键成果来实现明确目标。 其中值得进一步…

    2024年1月17日
    19300
  • 如何做项目风险管理计划

    项目风险管理计划是为了确保项目能够应对各种可能的不确定性和风险,以保障项目顺利完成。撰写项目风险管理计划时应当识别风险、分析风险、规划风险应对、实施风险应对措施,以及监控风险。综合这些要点,可发现其核心在于识别和分析。首先,识别风险是投入最大精力的步骤,因为只有理解了可能面临的问题,才能有效地应对它…

    2024年4月10日
    5700
  • 社会工作项目如何管理

    社会工作项目管理要求有组织性、透明性和可持续性。首先,项目管理需要明确项目目标、成立专业团队、制定实施计划、确保资源的有效分配。其次,应采用监控评估机制来跟踪项目进程、效果和成果,并根据反馈进行及时调整。其中,保证资源有效分配是至关重要的一环。这包括从项目开展的初始阶段就确立财务管理体系、梳理项目资…

    2024年4月10日
    5400

发表回复

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

400-800-1024

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

分享本页
返回顶部