Lua的数据类型
Lua是动态类型语言,这就意味着,在lua中你不需要对变量进行类型定义,只需要为变量赋值。
Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。
nil
这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
初始变量不赋值,则该变量为nil
> local d
> print(d)
nil
用nil在条件表达式做判断的时候
> if d then
>> print(1)
>> else
>> print(2)
>> end
2
boolean
包含两个值:false和true。
没啥说的。
number
表示双精度类型的实浮点数。
同上。
string
字符串由一对双引号或单引号来表示。
> print('111')
111
> print("111")
111
function
函数体,以end结尾。
> function aa()
>> print('aa')
>> end
> aa()
aa
table
lua的精髓之处吧,本质是一个关联数组,每个索引对应一个元素,但因为lua中变量不需要类型,所以table中的索引及元素也就不限制类型,可以是数字,字符串或者table
> a = {
> tab = 3,
> [4] = 4,
> ["txt"] = 'txt',
> [5] = {},
> }
> a[1] = 2
> a.b = 1
> print(a.b)
1
> print(a[1])
2
> print(a.tab)
3
> print(a[4])
4
> print(a["txt"])
txt
> print(a[5])
table: 000001A1338C2D50
userdata和thread
还没接触过,暂时不表。
over