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
當構建並執行上述程式時,它會生成以下結果 -
string
number
boolean
function
function
nil
string
預設情況下,在分配值或初始化之前,所有變數都將指向nil
。 在Lua中,在條件檢查的情況下,零和空字串認為是:true
。 因此,使用布林運算時必須小心。 在接下來的章節中,將更多地了解這些型別。