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

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

一、简介

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

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

在这里插入图片描述

二、新建函数

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

在这里插入图片描述

三、函数定义

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

(一)参数列表

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

在这里插入图片描述

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

在这里插入图片描述

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

(二)返回值

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

在这里插入图片描述

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

四、编辑函数

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

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

在这里插入图片描述

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

(一)基本语句

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

在这里插入图片描述

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

在这里插入图片描述

1.固定值

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

在这里插入图片描述

在这里插入图片描述

2.变量值

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

在这里插入图片描述

3.公式值

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

image.png

(二)循环

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

在这里插入图片描述

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

在这里插入图片描述

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

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

(三)条件判断

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

在这里插入图片描述

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

在这里插入图片描述

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

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

(四)声明变量

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

在这里插入图片描述

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

在这里插入图片描述

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

注意事项

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

(五)返回值

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

在这里插入图片描述

在这里插入图片描述

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

五、函数调用

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

在这里插入图片描述

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

六、注意事项

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

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

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


http://www.mrgr.cn/news/60565.html

相关文章:

  • 冒泡排序和二分查找--go
  • 开源实时数仓的构建
  • 使用Vue.js构建响应式Web应用
  • 基于Qt的多线程并行和循序运行实验Demo
  • zabbix 6.0 监控clickhouse(单机)
  • 1U服务器和Hyper-V虚拟机使用记录
  • 可重入函数和不可重入函数
  • LVGL移植教程(超详细)——基于GD32F303X系列MCU
  • 量子容错计算
  • 【JVM】——GC垃圾回收机制(图解通俗易懂)
  • PowerShell 提示“系统禁止运行脚本”
  • 【嵌入式软件-STM32】按键控制LED 光敏传感器控制蜂鸣器
  • Shiro会话管理和加密
  • 医院信息化与智能化系统(11)
  • 阳振坤:云时代数据库的思考 | OceanBase发布会实录
  • 【高级IO】IO多路转接之epoll
  • 移植FreeRTOS实时操作系统(基于STM32F429)
  • Java运行时数据区
  • C++基础三
  • 华为大咖说丨如何通过反馈机制来不断优化大模型应用?
  • 销售拓客秘籍:线上渠道探寻与选择
  • 2024年【北京市安全员-A证】找解析及北京市安全员-A证考试试卷
  • 一周倒计时!2024中山智能家居峰会议程揭晓
  • 深入理解数据链路层:以太网帧格式、MAC地址、交换机、MTU及ARP协议详解与ARP欺骗探究
  • 300元蓝牙耳机性价比高的有哪些?学生平价蓝牙耳机推荐
  • 10位三维设计如何共享工作站算力和软件