扫码一下
查看教程更方便
Lua 是一种动态类型语言,所以变量没有类型,只有值有类型。 值可以存储在变量中,作为参数传递并作为结果返回。
在 Lua 中,虽然我们没有可变数据类型,但我们有值的类型。 下面给出了值的数据类型列表。
序号 | 数据类型 | 描述 |
---|---|---|
1 | nil | 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 |
2 | boolean | 包含两个值:false和true。 |
3 | number | 表示双精度类型的实浮点数 |
4 | string | 字符串由一对双引号或单引号来表示 |
5 | function | 由 C 或 Lua 编写的函数 |
6 | userdata | 表示任意存储在变量中的C数据结构 |
7 | thread | 表示执行的独立线路,用于执行协同程序 |
8 | table | Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字、字符串或表类型。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。 |
在 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
当我们构建并执行上述程序时,它会输出以下结果
默认情况下,所有变量都将指向 nil
,直到它们被赋值或初始化。
**
注意
**:在 Lua 中,在条件检查的情况下,零字符串和空字符串被认为是 true 。 因此,在使用布尔运算时必须小心。 我们将在接下来的章节中了解更多使用这些类型的信息。