Lua資料型別


Lua是一種動態型別語言,因此變數沒有型別,只有值具有型別。 值可以儲存在變數中,作為引數傳遞並作為結果返回。

在Lua中,雖然沒有可變資料型別,但有值的型別。 值的資料型別列表如下。

編號 值型別 描述
1 nil 用於區分值與某些資料或沒有(nil)資料。
2 boolean 包括truefalse作為值,通常用於條件檢查。
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

當構建並執行上述程式時,它會生成以下結果 -

string
number
boolean
function
function
nil
string

預設情況下,在分配值或初始化之前,所有變數都將指向nil。 在Lua中,在條件檢查的情況下,零和空字串認為是:true。 因此,使用布林運算時必須小心。 在接下來的章節中,將更多地了解這些型別。