📅  最后修改于: 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中,在条件检查的情况下,零和空字符串被认为是正确的。因此,在使用布尔运算时必须要小心。在下一章中,我们将更多地使用这些类型。