变量与数据类型
Lua 是一门 动态类型语言,变量在首次赋值时自动确定类型,无需显式声明类型。
所有变量默认是 全局变量,除非使用 local 关键字定义为局部变量。
🪶 变量定义
-- 全局变量
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 默认使用 双精度浮点数 表示数值。
a = 10
b = 3.14
c = 1.2e3 -- 科学计数法:1200.0
print(a + b, c)
🧵 字符串(string)
Lua 中字符串可用单引号、双引号或 [[ ]] 多行定义。
name = "Lua"
version = '5.4'
desc = [[
Lua 是一门轻量级脚本语言,
常用于嵌入式系统。
]]
print(name .. " " .. version) -- 字符串拼接用 ..
🧱 布尔值(boolean)
只有 false 和 nil 被认为是假(false),其余值(包括 0 和空字符串)都为真(true)。
if 0 then
print("0 也为真")
end
🧩 nil 类型
nil 表示“无”或“未定义”,用于清除变量或检测空值。
local value = nil
print(type(value)) -- 输出:nil
value = 42
value = nil -- 清除变量
🗃️ 表(table)
表(Table)是 Lua 中最重要的数据结构,可同时充当数组、字典、对象等。
t = { name = "Alice", age = 20 }
print(t.name) -- 访问键值
t.city = "Tokyo" -- 动态新增字段
🧠 小结
- 使用
local定义局部变量 - Lua 拥有 8 种基本数据类型
- 字符串拼接使用
.. - 只有
false与nil为假
在下一章中,我们将学习 流程控制语句,包括条件判断与循环结构。
相关内容
- Lua 高级技巧与优化 学习 Lua 的高级编程技巧,包括性能优化、内存管理、闭包、尾递归优化和元表高级用法。
- Lua 与 C 的交互 学习如何在 Lua 中调用 C 函数、在 C 中嵌入 Lua,实现 Lua 与 C 的混合编程。
- 流程控制 学习 Lua 中的条件判断、循环语句与控制关键字的用法,包括 if、while、for 与 repeat until。
- Lua 协程(Coroutine) 学习 Lua 协程的基本概念、创建方法、调度与应用,实现轻量级多任务和协作式并发。
- 函数 学习 Lua 中函数的定义与调用方式,掌握参数传递、返回值、可变参数与匿名函数等概念。
- Lua 简介 了解 Lua 的起源、设计理念及应用场景,掌握 Lua 语言的核心特征与优势。