📜  Lua-数据类型

📅  最后修改于: 2020-10-16 05:14:25             🧑  作者: Mango


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

在Lua中,虽然我们没有变量数据类型,但是我们有值的类型。值的数据类型列表如下。

Sr.No Value Type & Description
1

nil

Used to differentiate the value from having some data or no(nil) data.

2

boolean

Includes true and false as values. Generally used for condition checking.

3

number

Represents real(double precision floating point) numbers.

4

string

Represents array of characters.

5

function

Represents a method that is written in C or Lua.

6

userdata

Represents arbitrary C data.

7

thread

Represents independent threads of execution and it is used to implement coroutines.

8

table

Represent ordinary arrays, symbol tables, sets, records, graphs, trees, etc., and implements associative arrays. It can hold any value (except 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(nil))                 --> nil
print(type(type(ABC)))           --> string

当您构建并执行上述程序时,它将在Linux上产生以下结果-

string
number
boolean
function
nil
string

默认情况下,所有变量都将指向nil,直到为其分配了值或对其进行了初始化。在Lua中,在条件检查的情况下,零和空字符串被认为是正确的。因此,在使用布尔运算时必须要小心。在下一章中,我们将更多地使用这些类型。