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
。 因此,使用布爾運算時必須小心。 在接下來的章節中,將更多地瞭解這些類型。