Lua 数据类型学习笔记

在 Lua 中,数据类型分为以下八种:

  1. nil
  2. boolean
  3. number
  4. string
  5. function
  6. userdata
  7. thread
  8. table

下面将逐一介绍它们,同时举例说明。

1. nil

nil 表示无效值或空值,它只有一个值 nil。可以使用赋值语句将变量设置为 nil:

luaCopy Code
local a = nil

2. boolean

boolean 表示布尔值,它只有两个值 true 和 false。通常用于条件判断和循环控制:

luaCopy Code
local b = true if b then print("b is true") else print("b is false") end

3. number

number 表示数字类型,支持整型和浮点型。可以进行算术运算和比较运算:

luaCopy Code
local c = 123 -- 整型 local d = 3.14 -- 浮点型 print(c + d) -- 输出 126.14 print(c > d) -- 输出 true

4. string

string 表示字符串类型,用一对单引号或双引号括起来表示。Lua 中的字符串是不可变的:

luaCopy Code
local e = "hello" print(e .. " world") -- 连接字符串,输出 "hello world"

5. function

function 表示函数类型,可以定义和调用函数。函数是一等公民,可以赋值给变量和作为参数传递:

luaCopy Code
local 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 Code
local co = coroutine.create(function() print("coroutine is running") end) coroutine.resume(co) -- 输出 "coroutine is running"

8. table

table 表示表类型,是 Lua 中的主要数据结构。表由一组键值对组成,可以通过下标访问元素:

luaCopy Code
local t = {a = 1, b = 2, c = 3} print(t["a"]) -- 输出 1

以上是 Lua 的数据类型介绍和实例说明。