Lua数据类型

Lua数据类型

Lua是一种动态类型语言,因此变量没有类型,只有值具有类型。 值可以存储在变量中,作为参数传递并作为结果返回。

在Lua中,虽然没有可变数据类型,但有值的类型。 值的数据类型列表如下。

编号 值类型 描述
1 nil 用于区分值与某些数据或没有(nil)数据。
2 boolean 包括truefalse作为值,通常用于条件检查。
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。 因此,使用布尔运算时必须小心。 在接下来的章节中,将更多地了解这些类型。