Lua - 数据类型

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

在Lua中,虽然我们没有可变数据类型,但我们有值的类型.值的数据类型列表如下所示.

Sr.NoValue Type&说明
1

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

当你构建并执行上面的程序时,它在Linux上产生以下结果 :

string
number
boolean
function
nil
string

默认情况下,在为其分配值或初始化之前,所有变量都将指向nil.在Lua中,在条件检查的情况下,零和空字符串被认为是真的.因此,使用布尔运算时必须小心.我们将在下一章中使用这些类型了解更多信息.