Lua - 数据类型

  • 简述

    动态类型语言,所以变量没有类型,只有值有类型。值可以存储在变量中,作为参数传递并作为结果返回。
    在 Lua 中,虽然我们没有变量数据类型,但我们有值的类型。下面给出了值的数据类型列表。
    序号 值类型和描述
    1
    nil
    用于区分值与有一些数据或没有(nil)数据。
    2
    boolean
    包括 true 和 false 作为值。一般用于条件检查。
    3
    number
    表示实数(双精度浮点数)。
    4
    string
    表示字符数组。
    5
    function
    表示用 C 或 Lua 编写的方法。
    6
    userdata
    代表任意 C 数据。
    7
    thread
    代表独立的执行线程,用于实现协程。
    8
    table
    表示普通数组、符号表、集合、记录、图、树等,实现关联数组。它可以保存任何值(nil 除外)。
  • 类型函数

    在 Lua 中,有一个名为“type”的函数,可以让我们知道变量的类型。以下代码中给出了一些示例。
    
    print(type("What is my type"))   --> string
    t = 10
    print(type(5.8*t))               --> number
    print(type(true))                --> boolean
    print(type(print))               --> function
    print(type(nil))                 --> nil
    print(type(type(ABC)))           --> string
    
    当您构建并执行上述程序时,它会在 Linux 上产生以下结果 -
    
    string
    number
    boolean
    function
    nil
    string
    
    默认情况下,所有变量都将指向 nil,直到它们被赋值或初始化。在 Lua 中,在条件检查的情况下,零和空字符串被认为是真的。因此,在使用布尔运算时必须小心。我们将在下一章中了解更多使用这些类型的信息。