当前位置: 首页 > article >正文

【JIT/极态云】技术文档--函数设计

一、简介

函数是计算机编程中非常重要的概念。它是一段代码,可以在程序中多次调用,用于完成特定的任务。

函数通常接受输入参数,执行特定的操作,并返回一个结果。这个结果可以被程序中的其他代码使用。

在这里插入图片描述

二、新建函数

在函数列表中,通过新建函数可以增加相应方法。

在这里插入图片描述

三、函数定义

函数是一个黑盒,在对其内部进行构造实现之前,我们需要先定义函数的输入输出,相应的就可以确定这个函数的作用是什么。

(一)参数列表

函数的输入由一系列参数组成,当然也可以不传入参数。即参数数量为0~n个之间。

在这里插入图片描述

参数可由任意数据类型组成,可以通过参数面板管理配置。

在这里插入图片描述

参数可以进行配置来限制入参要求,避免非法的传参。同时也可以设定默认值,在参数取值变化频率不高时,可以节省函数调用时间。

(二)返回值

函数的输出是一个返回值,这个返回值可以为空,也可以是一个具体类型的数据。

在这里插入图片描述

在选择返回值类型后,就可以对函数内部的返回值进行类型限定与判断。

四、编辑函数

函数编辑支持多种语句进行逻辑组装,通过解析参数列表,转换构造,输出相应的返回值

这其中就包括了基础语句、循环、条件判断、声明变量、返回值。

在这里插入图片描述

下面分别介绍这五种语句类型:

(一)基本语句

插入一条空白行,可以进行任意编辑,最为常用,可以嵌套在循环或条件判断中。多用于函数调用和赋值操作。

在这里插入图片描述

该语句可调用已有入参和内置参数,进行修改或赋值。而对于赋值操作支持三种形式:固定值、变量值、公式值。

在这里插入图片描述

1.固定值

固定值方式赋值,是将一个明确的值作为参数新值,即数据更新。会根据对应参数类型允许数据输入,如数值输入框、文本输入框等,复杂数据类型则会弹出对应数据录入面板。

在这里插入图片描述

在这里插入图片描述

2.变量值

变量值方式赋值,则是将另一个参数的当前值作为参数新值,即数据复制。支持在参数列表中选取相同数据类型参数。

在这里插入图片描述

3.公式值

公式值方式赋值,是固定值与变量值赋值方法的结合。即允许使用计算公式组件《计算公式》,将现有固定值/变量值结合运算符和运算方法进行组装计算,输出最终的参数新值。

image.png

(二)循环

插入空白循环语句组,包含循环声明、循环体、结束标记。

在这里插入图片描述

针对循环声明需要指定对应的集合,该集合可能是多行数据、列表等,默认对集合中每一项执行循环体中的语句。

在这里插入图片描述

循环体中可以插入多行基本语句,对集合中的每一项进行查询、计算、赋值或其他函数调用。

也可以插入循环或条件判断进行多层嵌套。

(三)条件判断

插入空白条件判断,包含条件声明、执行体、结束标记。

在这里插入图片描述

针对条件声明需要指定对应判断条件,一般为某一参数值的匹配判定。若判定通过则对执行体中语句进行执行。

在这里插入图片描述

与循环体类似,条件判断执行体中可以插入多行基本语句,对匹配参数值或其他变量进行查询、计算、赋值或其他函数调用。

也可以插入循环或条件判断进行多层嵌套。

(四)声明变量

插入一条变量声明,可以对任意一种数据类型进行初始化。

在这里插入图片描述

该变量会作为新的参数进行使用。

在这里插入图片描述

其中赋值操作也支持三种形式:固定值、变量值、公式值。

注意事项

变量声明遵循由上至下,由内至外的规则。即先声明的变量无法调用后声明的变量,函数内部变量生命周期至函数体尾部结束(包括循环/条件判断生成的内部执行体,在相应结束标记处变量失效)。

(五)返回值

插入一条返回值语句,作为整个函数的结束标记,根据函数定义的返回值类型输出。

在这里插入图片描述

在这里插入图片描述

注意:函数内部允许设置多个返回值,执行任意一个返回值后立即结束函数,无论是否其后有其他未执行语句。

五、函数调用

在实现函数过程中可以对其他函数进行调用,与之相应的,在构造完成函数后,也可以被其他函数调用。

在这里插入图片描述

函数调用需要符合函数定义中要求的参数列表要求,即对每一个入参都符合其限制,这样才能调用成功获取返回值。

六、注意事项

函数可以调用自身,即函数递归,但注意此调用方式要合理设定返回值出口,避免调用无限循环。

进一步了解极态云,体验产品?

请访问 极态云使用手册https://docs.jit.pro


http://www.kler.cn/a/369079.html

相关文章:

  • 初识jsp
  • linux开机自启动三种方式
  • VUE3实现古典音乐网站源码模板
  • Java全栈经典面试题剖析8】JavaSE高级 -- 线程同步、 线程通信、死锁、线程池
  • 【Qt 读取、修改、存储.ini文件】及完整示例
  • Ajax:XMLHttpRequest
  • java :String 类
  • ReactOS系统中平衡二叉树,在一个空间中寻找与给定地址范围重合或部分重合的(已分配)区间
  • Python 实现日期计算与日历格式化输出(万年历)
  • Qt 窗口可见性 之 close函数和hide函数
  • [Go实战]:HTTP请求转发
  • 电商平台店铺运营:巧用 API 接口的策略之道
  • jemalloc替换标准库 malloc等函数的三种方式
  • 宿舍管理新篇章:基于Spring Boot的系统开发
  • 验证俩套加密算法是否互通
  • [思考记录]做事别忘最初目的
  • 安全见闻(7)-上(网络安全热门证书介绍及备考指南)
  • 理解OAuth2与用户账户与授权UAA的关系
  • thinkadmin,点击列表导出excel
  • [NOIP2015 普及组] 求和
  • Go语言基础教程:函数
  • H5的Canvas绘图——使用fabricjs绘制一个可多选的随机9宫格
  • 微信小程序 - 深 / 浅拷贝实现方法,微信小程序深拷贝与浅拷贝,函数方法封装直接调用使用,深拷贝cloneDeep和浅拷贝clone(深复制和浅复制)
  • C++ TensorRT yolov8
  • C++和Java该如何进行选择?
  • dmsql日志分析工具部署与使用DM8/DM7