学过C\C++、C#等主流编程语言的人都清楚,这些语言中对数据类型都有明确的定义,整型必须定义为int、字符串必须定义为string等。而Lua对变量类型的定义是动态的,也就是说对于一个变量,我们不需要类型的定义,只需要对其赋值即可。动态的类型有好有坏,好的方面在于我们无需关心一个数据具体是什么类型,直接定义,快捷,简便,也符合了作为轻量级脚本语言的特性;坏的方面在于有时候代码写长写多了,我们会忘记某个变量一开始赋值时的类型,在之后一些参数传递上会出现类型不匹配等问题。不过作为嵌入其他程序中的脚步语言,Lua自身的代码量不会太长,所以我个人还是挺喜欢这种动态类型的定义的~
虽说是动态类型,Lua也有8个基本的类型分别为:nil、boolean、number、string、userdata、function、thread和table。
| 数据类型 | 描述 |
| nil | 一个无效值,其类型只包含nil |
| boolean | true或者false |
| number | 双精度类型的实浮点数 |
| string | 字符串类型 |
| function | 函数类型 |
| userdata | 存储在变量中的数据结构类型 |
| thread | 线程类型 |
| table | 表类型 |

本文详细介绍了Lua的8种基本数据类型:nil、boolean、number、string、table、function、thread和userdata。nil用于表示无效值,常用于删除变量。boolean包含true和false,除false和nil外,其他值被视为真。number是双精度浮点数。string用于文本,table作为关联数组,支持自定义索引。function是动态定义的函数,可作为参数传递。thread用于并行执行任务,而userdata则允许用户自定义数据存储。

1万+

被折叠的 条评论
为什么被折叠?



