Lua 数据类型学习笔记
在 Lua 中,数据类型分为以下八种:
- nil
- boolean
- number
- string
- function
- userdata
- thread
- table
下面将逐一介绍它们,同时举例说明。
1. nil
nil 表示无效值或空值,它只有一个值 nil。可以使用赋值语句将变量设置为 nil:
luaCopy Codelocal a = nil
2. boolean
boolean 表示布尔值,它只有两个值 true 和 false。通常用于条件判断和循环控制:
luaCopy Codelocal b = true
if b then
print("b is true")
else
print("b is false")
end
3. number
number 表示数字类型,支持整型和浮点型。可以进行算术运算和比较运算:
luaCopy Codelocal c = 123 -- 整型
local d = 3.14 -- 浮点型
print(c + d) -- 输出 126.14
print(c > d) -- 输出 true
4. string
string 表示字符串类型,用一对单引号或双引号括起来表示。Lua 中的字符串是不可变的:
luaCopy Codelocal e = "hello"
print(e .. " world") -- 连接字符串,输出 "hello world"
5. function
function 表示函数类型,可以定义和调用函数。函数是一等公民,可以赋值给变量和作为参数传递:
luaCopy Codelocal function f(x, y)
return x + y
end
print(f(3, 5)) -- 输出 8
6. userdata
userdata 表示自定义类型,通常用于和 C 语言交互或实现对象:
luaCopy Code-- C 函数声明
int luaopen_mylib(lua_State *L);
-- Lua 中调用 C 函数
local mylib = require("mylib")
7. thread
thread 表示协程类型,可以使用 coroutine 模块创建和管理协程:
luaCopy Codelocal co = coroutine.create(function()
print("coroutine is running")
end)
coroutine.resume(co) -- 输出 "coroutine is running"
8. table
table 表示表类型,是 Lua 中的主要数据结构。表由一组键值对组成,可以通过下标访问元素:
luaCopy Codelocal t = {a = 1, b = 2, c = 3}
print(t["a"]) -- 输出 1
以上是 Lua 的数据类型介绍和实例说明。