主题
变量与数据类型
Lua 是一门 动态类型语言,变量在首次赋值时自动确定类型,无需显式声明类型。
所有变量默认是 全局变量,除非使用 local
关键字定义为局部变量。
🪶 变量定义
lua
-- 全局变量
x = 10
-- 局部变量
local y = 20
print(x, y) -- 输出:10 20
💡 建议:尽量使用
local
,避免污染全局命名空间。
📊 数据类型一览
Lua 中共有 8 种基本数据类型:
类型名 | 说明 |
---|---|
nil | 空值,表示无效或未定义 |
boolean | 布尔值,取值为 true 或 false |
number | 数值类型(整数和浮点数统一) |
string | 字符串 |
table | 表(数组、字典等通用结构) |
function | 函数(可赋值给变量或作为参数传递) |
userdata | 用户自定义数据(C 语言交互) |
thread | 协程(Coroutine)对象 |
🔢 数值类型(number)
Lua 默认使用 双精度浮点数 表示数值。
lua
a = 10
b = 3.14
c = 1.2e3 -- 科学计数法:1200.0
print(a + b, c)
🧵 字符串(string)
Lua 中字符串可用单引号、双引号或 [[ ]]
多行定义。
lua
name = "Lua"
version = '5.4'
desc = [[
Lua 是一门轻量级脚本语言,
常用于嵌入式系统。
]]
print(name .. " " .. version) -- 字符串拼接用 ..
🧱 布尔值(boolean)
只有 false
和 nil
被认为是假(false),其余值(包括 0 和空字符串)都为真(true)。
lua
if 0 then
print("0 也为真")
end
🧩 nil 类型
nil
表示“无”或“未定义”,用于清除变量或检测空值。
lua
local value = nil
print(type(value)) -- 输出:nil
value = 42
value = nil -- 清除变量
🗃️ 表(table)
表(Table)是 Lua 中最重要的数据结构,可同时充当数组、字典、对象等。
lua
t = { name = "Alice", age = 20 }
print(t.name) -- 访问键值
t.city = "Tokyo" -- 动态新增字段
🧠 小结
- 使用
local
定义局部变量 - Lua 拥有 8 种基本数据类型
- 字符串拼接使用
..
- 只有
false
与nil
为假
在下一章中,我们将学习 流程控制语句,包括条件判断与循环结构。