📅  最后修改于: 2023-12-03 15:02:48.725000             🧑  作者: Mango
Lua 是一种动态脚本语言,拥有 8 种基本数据类型,其中 7 种是值类型,1 种是引用类型。本文将介绍这些 Lua 数据类型以及它们的用法。
nil 类型表示一个无效值,通常表示“没有值”。在 Lua 中,任何变量都可以是 nil 类型,如果变量没有被赋予一个合法的值,那么它的默认值就是 nil。
local a
print(type(a)) -- 输出:nil
boolean 类型表示真(true)或假(false)的值。
local b = true
print(type(b)) -- 输出:boolean
print(b) -- 输出:true
number 类型表示数字类型的值,包括整数和浮点数。
local c = 100 -- 整数
print(type(c)) -- 输出:number
local d = 3.14 -- 浮点数
print(type(d)) -- 输出:number
string 类型表示字符串类型的值,用双引号或单引号包围起来。
local e = "hello" -- 双引号
print(type(e)) -- 输出:string
local f = 'world' -- 单引号
print(type(f)) -- 输出:string
function 类型表示函数类型的值,可以通过 function 关键字定义。
local function add(a, b)
return a + b
end
print(type(add)) -- 输出:function
table 类型是 Lua 中最重要的数据结构,可以用来构建数组、字典等。
local g = {1, 2, 3} -- 数组
print(type(g)) -- 输出:table
local h = {name="Tom", age=18} -- 字典
print(h.name) -- 输出:Tom
thread 类型表示独立的执行流,常用在异步编程中。我们可以使用 coroutine 库来创建、管理线程。
local co = coroutine.create(function()
print("Hello, world!")
end)
print(type(co)) -- 输出:thread
coroutine.resume(co) -- 输出:Hello, world!
userdata 类型表示自定义类型的值,通常用于扩展 Lua 的功能。
local file = io.open("test.txt", "r")
print(type(file)) -- 输出:userdata
总结
本文简要介绍了 Lua 的 8 种数据类型。在实际开发中,不同的数据类型具有不同的用途,我们可以根据需要选择合适的类型。