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 中,在条件检查的情况下,零字符串和空字符串被认为是真的。 因此,在使用布尔运算时必须小心。 我们将在接下来的章节中了解更多使用这些类型的信息。