结构体
结构体是一种自定义的数据类型,通常用于封装一组相关的数据字段为一个整体。例如编程中常见的坐标结构,一个坐标点包含一个X
、Y
值,通过结构体的封装,可以将X
,Y
封装成一个坐标结构体数据类型。
定义结构体
一个合法的自定义结构类型使用“定义”关键字定义、其结构体中只能包含内部成员变量、成员变量个数无限制、但不能包含构造函数、自定义函数、事件或回调对象;同时内部成员变量不能使用任何修饰符;语法如下:
定义 结构体名称 为 结构
变量 成员变量1 为 数据类型
变量 成员变量2 为 数据类型
...
结束 定义
注:结构体中不支持一个变量语句定义多个成员变量、即每行只能定义一个变量成员。
示例:
定义 坐标 为 结构
变量 X 为 整数型
变量 Y 为 整数型
结束 定义
使用结构体
视窗程序示例:
' 先定义描述坐标的结构体数据类型
定义 坐标 为 结构
变量 X 为 整数型
变量 Y 为 整数型
结束 定义
事件 按钮4.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
' 声明并创建一个坐标变量对象
变量 坐标1 = 创建 坐标()
坐标1.X = 10
坐标1.Y = 20
调试输出("坐标1 X:" + 坐标1.X + ",Y:" + 坐标1.Y)
' 声明并创建坐标、设置初始值,结构体数据默认支持全成员构造函数
变量 坐标2 = 创建 坐标(30,50)
' 由于 坐标2 已经是一个包含X,Y值的整体数据值对象;因此可以添加到集合
' 或放到数组中、或设置给组件的标记、或跨窗口传递
标签1.标记 = 坐标2
结束 事件
事件 按钮5.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
' 取出 标签1 的标记(上一步设置的 坐标2)
变量 坐标2 = (坐标)标签1.标记
调试输出("坐标2 X:" + 坐标2.X + ",Y:" + 坐标2.Y)
结束 事件
注:每个结构体数据都为全局数据类型、在整个项目中的模块、窗口中都可以使用、因此整个项目中不能包含相同名称的结构体。
在实际项目中,建议在专门的文件中声明结构体,轻语言默认存放结构体类型文件的后缀为:
.st
,建议将项目中的所有自定义数据结构放在该文件中声明。