Lua - 数据类型
Lua 是一种动态类型语言,所以变量没有类型,只有值有类型。 值可以存储在变量中,作为参数传递并作为结果返回。
在 Lua 中,虽然我们没有可变数据类型,但我们有值的类型。 下面给出了值的数据类型列表。
序号 | Value Type & Description |
---|---|
1 | nil 用于将值与有一些数据或没有(无)数据区分开来。 |
2 | boolean 包括 true 和 false 作为值。 一般用于条件检查。 |
3 | number 表示实数(双精度浮点数)。 |
4 | string 表示字符数组。 |
5 | function 表示用 C 或 Lua 编写的方法。 |
6 | userdata 表示任意 C 数据。 |
7 | thread 代表独立的执行线程,用于实现协程。 |
8 | table 表示普通数组、符号表、集合、记录、图形、树等,实现关联数组。 它可以保存任何值(nil 除外)。 |
Type 函数
在 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 中,在条件检查的情况下,零字符串和空字符串被认为是真的。 因此,在使用布尔运算时必须小心。 我们将在接下来的章节中了解更多使用这些类型的信息。