位置:首頁 > 腳本語言 > Lua教學 > Lua數據類型

Lua數據類型

Lua是動態類型語言,所以變量冇有類型,僅值有類型。值可以被存儲在變量中,作為參數傳遞,並作為結果返回。

在Lua中雖然我們冇有變量的數據類型,但我們有類型的值。用於數值數據類型的列表在下麵給出。

值類型 描述
nil 用於區分具有一些數據或冇有(nil)數據的值。
boolean 包括true和false值。一般用於條件檢查。
number 表示真實(雙精度浮點數)的數字。
string 表示字符數組。
function 表示是用C或Lua語言的方法。
userdata 表示任意C數據。
thread 獨立的執行線程,它是用來實現協程。
table 代表普通數組,符號表,集合,記錄,圖,樹等,並實現關聯數組。它可以容納任何值(除了nil)。

函數類型

在Lua中有一個叫做函數類型,使我們能夠知道變量的類型。如下一些例子給出了下麵的代碼。

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(type))                --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

當建立並執行上麵的程序,它在Linux下麵會產生結果:

string
number
function
function
boolean
nil
string

默認情況下,所有的變量將指向nil ,直到他們被分配一個值或初始化。在Lua中,0和空字符串被認為是true,條件檢查也是如此。因此,必須使用布爾操作時要小心。我們在下麵的章節了解更多並使用這些類型。