Lua是一种动态类型语言,因此变量没有类型,只有值具有类型。 值可以存储在变量中,作为参数传递并作为结果返回。
在Lua中,虽然没有可变数据类型,但有值的类型。 值的数据类型列表如下。
编号 | 值类型 | 描述 |
---|---|---|
1 | nil |
用于区分值与某些数据或没有(nil )数据。 |
2 | boolean |
包括true 和false 作为值,通常用于条件检查。 |
3 | number |
表示实数(双精度浮点)数字。 |
4 | string |
表示字符数组。 |
5 | function |
表示用C语言或Lua编写的方法。 |
6 | userdata |
表示任意C语言数据。 |
7 | thread |
表示独立的执行线程,它用于实现协同程序。 |
8 | table |
表示普通数组,符号表,集合,记录,图形,树等,并实现关联数组。 它可以保存任何值(除了nil )。 |
类型函数
在Lua中,有一个名为type
的函数能够确定变量的类型。 以下代码中给出了一些示例。
print(type("What is my type")) --> string
t = 10
print(type(5.8*t)) --> number
print(type(true)) --> boolean
print(type(print)) --> function
print(type(nil)) --> nil
print(type(type(ABC))) --> string
当构建并执行上述程序时,它会生成以下结果 -
string
number
boolean
function
function
nil
string
默认情况下,在分配值或初始化之前,所有变量都将指向nil
。 在Lua中,在条件检查的情况下,零和空字符串认为是:true
。 因此,使用布尔运算时必须小心。 在接下来的章节中,将更多地了解这些类型。