教程 lua tutorial

变量与数据类型

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 为假

在下一章中,我们将学习 流程控制语句,包括条件判断与循环结构。