# 数据类型

数据类型是编程语言中的重要概念,它定义了数据的特定类型及其在计算机中的表示方式和可执行的操作。数据类型的存在可以帮助程序员正确地操作和处理数据,并且可以提高程序的可读性、可维护性和可靠性。此外,数据类型还有助于编译器或解释器在编译或解释代码时进行类型检查,以确保程序的正确性和安全性。例如,当我们需要存储一个人的年龄信息时,我们可以使用整数类型的数据来表示。这样,程序就可以正确地处理各种针对整数类型数据的操作,例如比较、加减乘除等等。

我们常以类型作为数据类型的简称。

低代码支持以下类型:

  • 基础类型;
  • 集合类型;
  • 枚举类型;
  • 数据结构;
  • 实体类型;
  • 以及上述类型构造出的联合类型(union)。

# 基础类型

基础类型是最基本的数据类型,它们是构建更复杂的数据类型和算法的基础。常见的基础类型包括整数、小数、字符串、布尔值和日期时间等,这些基础类型通常用于存储和处理不同种类的数据,从而实现各种各样的功能和应用程序。在程序中正确使用基础类型可以提高程序的效率、可读性和可维护性。

平台提供的基础类型如下:

  • Boolean 布尔值:表示真或假,通常用于条件判断。
  • Integer 整数:表示没有小数部分的数字,可以是正数、负数或零。
  • Long 长整数:和整数一样,但是能够表示更大的数字。
  • Double 小数:表示带有小数部分的数字,通常用于科学计算和其他需要精度较高的场景。
  • Decimal 精确小数:和小数一样,但是能够提供更高的精度,通常用于货币计算和其他需要精度较高的场景。
  • String 字符串:表示一串字符,通常用于文本处理和数据存储。
  • Text 长文本:和字符串一样,但是能够存储更长的文本,通常用于文本编辑和数据存储。
  • Binary 二进制流:表示一组二进制数据,通常用于存储图像、视频、音频等文件。
  • Date 日期:表示具体的日期,通常用于仅日期处理和数据存储。
  • Time 时间:表示具体的时间,通常用于仅时间处理和数据存储。
  • DateTime 日期时间:表示具体的日期和时间,通常用于日期和时间的处理和数据存储。
  • Email 电子邮箱:表示一个电子邮件地址,通常用于电子邮件处理和数据存储。

# 集合类型

集合类型是编程语言中常见的数据结构,用于存储和操作多个值。平台提供的集合类型包括以下两种。

  • List<T> 列表:列表由一组有序的元素组成,可以通过索引来访问它们。列表通常用于存储和操作一组相关的值,例如一个人的名字列表或一组数字的列表。
    • T 可以是任意类型(包括 List<T> 本身、联合类型)。
  • Map<K, V> 映射:映射由一组键值对组成,其中每个键都唯一地映射到一个值。映射通常用于存储和操作一组相关联的键值对,例如一个单词和其出现次数的映射。
    • 目前 K 只能从基础类型中的 IntegerLongDecimalStringBoolean 中选择。
    • V 可以是任意类型(包括 Map<K, V> 本身、联合类型)。

平台提供了一组丰富的内置函数来操作列表类型、映射类型的数据。

# 枚举类型

枚举是一种自定义的数据类型,用于定义一组有穷序列集。例如“星期”这个词就是一个枚举,星期一、星期二、 星期三、星期四、星期五、星期六、星期日就是这个枚举里面的成员。枚举类型可以帮助您更方便地管理常量值,提高程序的可读性和可维护性。

# 枚举的名称和描述

枚举的名称以大写字母开头,后跟至多 62 个英文字母、数字、下划线(_)的组合。

枚举的描述可填写任意字符,但须控制在 63 个以内。

# 枚举的构成

枚举可以包含一组相关联的枚举值标题,其中枚举值是必填项,标题是选填项。

  • 枚举值:以字母或数字开头,后跟至多 62 个英文字母、数字、下划线(_)的组合。
  • 标题:可填写任意字符,但须控制在 63 个以内。

# 数据结构

在CodeWave中,数据结构是一种用户自定义的数据类型,用于将多个不同类型的数据组合成一个结构体,类似于传统编程语言 C 中的 struct 定义出的类型。例如,可以定义一个数据结构来表示一个人的信息,包括姓名、年龄、性别等属性。可以通过访问数据结构的属性来获取或修改这些信息。在复杂应用中使用数据结构来更方便地组织、操作、处理数据。

数据结构与实体比较相似,但数据结构不涉及数据库和存储细节,较实体而言功能更简单些。

# 数据结构的名称和描述

数据结构的名称以大写字母开头,后跟至多 62 个英文字母、数字、下划线(_)的组合。

数据结构的描述可填写任意字符,但须控制在 63 个以内。

# 数据结构的属性

数据结构可以包含多个属性,每个属性包含必须填写的名称、标题、数据类型,和选填的默认值、描述

  • 属性的名称:以小写字母开头,后跟至多 62 个英文字母、数字、下划线(_)的组合。

  • 属性的标题:可填写任意字符,但须控制在 63 个以内。

  • 属性的数据类型:可选择平台提供的基础类型、集合类型,用户自定义的枚举类型、数据结构类型、实体类型,以及上述类型组合而来的联合类型(union)。

    • 支持递归、互递归类型。
    • 暂不支持联合类型。
  • 属性的默认值:支持为 BooleanIntegerLongDoubleDecimalStringText 设置其对应格式的默认值。不支持为联合类型(union 类型)设置默认值。设置默认值时,需注意以下规则:

    • StringText 类型的默认值不填时是 null,填写后再用删除键(delete 键)删除是空字符串(文本)""。用 IDE 提供的删除按钮删除后,还原为 null
    • IntegerLongDoubleDecimal 类型的默认值不填时是 null。与上述 StringText 类型不同的是,用户填写后再用删除键(delete 键)删除是还是 null。用 IDE 提供的删除按钮删除后也是 null
  • 属性的描述:可填写任意字符,但须控制在 63 个以内。

# 实体

实体是数据的一种载体,允许您将结构化数据持久保存在数据库中并实现数据库模型。每一个实体对应一张数据库表,实体的属性对应数据库表的列。例如我们可以将“订单”定义为一个实体,每个订单都有订单号、日期、客户信息等等属性。

详见实体章节。

# 联合类型

联合类型(union)是一种用户自定义的数据类型,通过组合已有的类型(也包含其他联合类型)得到,它表示一个值可以是多种不同类型之一。例如,一个具有联合类型的变量可以是整数、字符串或布尔值中的任何一种类型。

image-20230418104352834

上次更新: 2023年06月14日