第一百三十九章 真正深入了解NBT-5
好消息!我們已經只剩下“數組”這個數據類型了!
[字符]
字符串(String)
[數值]
{整形}
字節(jié)型(Byte:B)
短整型(Short:S)
整型(Int:I)
長整型(Long:L)
{浮點型(小數)}
單精度浮點型(Float:F)
雙精度浮點型(Double:D)
[數據]
復合標簽(Compound)
列表(List)
[數組]
字節(jié)型數組(Byte Array:[B])
整型數組(Int Array:[I])
長整型數組(Long Array:[L])
看上面的列表,我們就可以知道,數組類型一共有三個:
字節(jié)型數組(Byte Array:[B])
整型數組(Int Array:[I])
長整型數組(Long Array:[L])
當然,在了解之前,我們得先來了解一下“數組”是什么意思。
其實很容易理解:數組,就是指幾個數字組合在一起。
這就簡單了,加上這三個名字前分別帶有“字節(jié)型、“整型”、“長整型”,我們就知道了這三個數組到底是個什么鬼東西:
字節(jié)型數組:幾個字節(jié)型值組合在一起。
整型數組:幾個整型值組合在一起。
長整型數組:幾個長整型值組合在一起。
三個數組的基本就是這樣。這時候,我們就可以進入下一階段了:
它們三到底長啥樣?
我們知道,列表數據類型的作用就是將幾個數據類型相同的數據集合在一起,如:
{time:[2020,12,21]}
而數組,剛才上面講過了:幾個數字組合在一起。
我們可以把幾個數字看成“幾個數據類型相同的數值”,那么就變成了:
將幾個數據類型相同的數值集合在一起
對比一下,你就會發(fā)現(xiàn):數組不就是數據類型為字節(jié)型、整型或長整型的列表嘛!
所以我們就可以大膽猜測,數組是長這樣子的:
[<數值1>,<數值2>,<數值3>.......](如:[2020,12,21])
猜的可以,但并不是全部的真相。
我們在講數值數據類型時,經常提到四個字:類型字母。而現(xiàn)在我們講到了集數值和列表為一體的數組,那是不是也有類型字母呢?
答案是肯定的。所以實際上的數組格式,是這樣子的:
[<類型字母>;<數值1>,<數值2>,<數值3>.......]
舉個例子,比如數據類型為字節(jié)型的數組:
[B;11,45,14]
不難發(fā)現(xiàn),決定類型字母的就是該數組的數據類型。只不過之前我并沒有提到整形的類型字母,但相信大家不難猜出來,因為:
整型(Int:I)
所以整形的類型字母就是:I。
按理說這一章到這里也就完了,但如果有細心的人,或許會提出一個疑問:
那么后面的數值需要填上類型字母嗎?
答案很簡單:不用。
理由也很簡單:分配律。
現(xiàn)在我們來舉些例子:
一、{time:[I;2020,12,27]}(數據類型為整形)
二、{COVID-19:{America:[L;19433847,11410501,339921,160604]},time:[I;2020,12,27,21,44,54]}(第一個數據類型為長整型,第二個數據類型為整形)
三、{Options:[B;1,1,0,0,1,1,1,1,1,0,0,1,0,1]}(數據類型為字節(jié)型)
OK本章就到這里了。
......
......
......
哦對了,請記住一點:數組里的類型字母后面那個符號是分號(;)而不是冒號(:)!