位置:首页 > > Lua数据类型

Lua数据类型

Lua是动态类型语言,所以变量没有类型,仅值有类型。值可以被存储在变量中,作为参数传递,并作为结果返回。

在Lua中虽然我们没有变量的数据类型,但我们有类型的值。用于数值数据类型的列表在下面给出。

值类型 描述
nil 用于区分具有一些数据或没有(nil)数据的值。
boolean 包括true和false值。一般用于条件检查。
number 表示真实(双精度浮点数)的数字。
string 表示字符数组。
function 表示是用C或Lua语言的方法。
userdata 表示任意C数据。
thread 独立的执行线程,它是用来实现协程。
table 代表普通数组,符号表,集合,记录,图,树等,并实现关联数组。它可以容纳任何值(除了nil)。

函数类型

在Lua中有一个叫做函数类型,使我们能够知道变量的类型。如下一些例子给出了下面的代码。

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(type))                --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

当建立并执行上面的程序,它在Linux下面会产生结果:

string
number
function
function
boolean
nil
string

默认情况下,所有的变量将指向nil ,直到他们被分配一个值或初始化。在Lua中,0和空字符串被认为是true,条件检查也是如此。因此,必须使用布尔操作时要小心。我们在下面的章节了解更多并使用这些类型。