数据类型
介绍
Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。
数据类型
-
1、nil(空)
-
nil 是一种类型, 它也只有一个值 nil, 它的主要功能是用于区别其他任何值。
一个全局变量在第一次赋值之前的默认值就是 nil, 如果将一个变量的值赋为 nil, 其作用等同于删除他。
2、boolean(布尔)
-
布尔变量和 C# 一样只有两个值:true 和 false. 分别表示逻辑真和逻辑假。
在 Lua 中任何值都可以表示一个条件(也就是可以转化为 boolenan 变量)。只有 false 和 nil被视为假。
其他都视为真。(注意:0 变量也会被视为真)
3、string(字符串)
-
Lua 语言中没有 Char 类型,string 字符串由一对双引号或单引号来表示还可以中括号包裹,中括号
包裹的字符串是原格式输出。字符串相连用 ” .. “俩点相连并不是加号。后面再学习一些详细的字符串操作相关的知识。
4、table(表)
-
table 表在 Lua 中是一个很重要的数据类型。实现了 “关联数组”,一种具有特殊索引方式的数组。
不仅可以通过整数索引访问他, 还可以使用字符串或其他类型的值(除了 nil)来访问它。table 没有
固定的大小, 还可以动态地添加任意数量的元素到一个 table 中。所以通过 table 这个数据类型,可以实现
普通数组, 集合,字典等等。table 好比是面粉, 数组好比是馒头, 馒头是用面粉做的。但是面粉不单单可以
做馒头, 还可以做面条、油条….后面再详细学习 table。
5、number(实数)
- Lua number 表示真实(双精度浮点数)的数字。总感觉这个很强大,后面再研究研究。 6、function(函数)
-
定义函数的关键字。在 lua 中函数是作为”第一类值”, 就是说函数作为一个类型, 可以存储在变量之中。
可以通过参数传递给其它函数也作为其它函数的返回值。后面再深入研究。
7、thread(线程)
-
lua 中线程作为一种基本的数据类型,表示执行的独立线路, 用于执行协同程序。感觉蛮复杂的不知道和Unity中的
协程有什么不同,后面再详细研究。
8、userdata(自定义类型)
- 用于扩展 lua 的新类型。
Lua 是一个动态类型的语言, 没有类型定义, 每个值都有自己的类型。利用 type 函数可以打印出一个给定值的类型。
print(type("未满")) -- string
print(type(10)) -- number
print(type(type)) -- function
print(true) -- true
print(nil) -- nil