- 值
lua语言不需要像C语言那样声明变量 (int a = 0)必须声明一个变量类型,可以直接赋值,而且值可以随用随改。
lua有8种不同的变量类型
-
1> nil . 相当于null,当一个变量不再使用,可以将其设置为nil,告诉垃圾回收器回收。
2> boolean
有true和false。其中只有nil 和false为假,其他任何值为真
3> number 此类型的数可以是小数,长整型,整形,十六进制,浮点型;数字都会存储为双精度浮点数,相当于C语言的double。
4>String
string类通常为8位纯字符串。
5> 函数(function)
一个函数类型引用,可以作为参数存储和传递函数
6> userdata
从C当中分配出来一块内存空间,允许C编写的函数存储和访问数据。不能在lua中创建和操作,只能通过C的API来使用。这个类型专门用来和Lua的宿主打交道的。宿主通常是用C和C++来编写的,在这种情况下,Userdata可以是宿主的任意数据类型,常用的有Struct和指针。
7> thread(线程)
线程类型,在Lua中没有真正的线程。Lua中可以将一个函数分成几部份运行。如果感兴趣的话,可以去看看Lua的文档。
8> 表(table)
关系表类型
其中,表,function ,userdata 类型的数据属于引用 ,智能使用 == ,~= ;相等说明两个引用同一数据。