跳轉到內容

BlitzMax/語言/資料型別

來自華夏公益教科書,開放的書籍,為開放的世界

所有常量、變數、函式和表示式都與一個關聯的型別。BlitzMax 支援以下型別

描述 語法 最小值 最大值
8 位無符號整數 位元組 0 255
16 位無符號整數 短整型 0 65535
32 位有符號整數 整型 -2^31 +2^31-1
64 位有符號整數 長整型 -2^63 +2^63-1
32 位浮點數 浮點型 (+/-)10^-38 (+/-)10^38
64 位浮點數 雙精度浮點型 (+/-)10^-308 (+/-)10^308
16 位 Unicode 字串 字串 - -
物件 型別名 - -
陣列 元素型別 [ ] - -
函式 返回型別 ( 引數 ) - -
指標 值型別 Ptr - -
變數 變數型別 Var - -

整數用於儲存簡單的數字資料,沒有任何小數部分。無符號整數只能儲存正值,而有符號整數可以儲存正值和負值。

浮點數用於儲存可能包含小數部分的數字資料。

字串用於儲存字元序列:字母、標點符號、數字等等。使用字串儲存諸如名稱之類的非數字資料。

陣列用於儲存變數序列。陣列中的一個變數可以透過使用整數偏移量“索引”陣列來訪問。有關陣列的更多資訊,請參閱陣列部分。

物件是使用者定義型別的例項。請參閱使用者定義型別部分。

註釋:除了在SuperStrict模式下,資料型別必須始終指定外,省略資料型別時使用 Int。

型別轉換

[編輯 | 編輯原始碼]

當需要時,例如,將表示式賦給變數時,或者將表示式傳遞給函式時,BlitzMax 會自動執行以下型別轉換。

源型別 目標型別
整數 浮點數、字串
浮點數 整數、字串

您還可以使用強制轉換操作顯式地轉換型別。這採用型別說明符後跟方括號中的表示式的形式。

顯式強制轉換允許您執行以下額外轉換

源型別 目標型別
字串 整數、浮點數

例如

Local n:Int=10
Local t:String="20"
Print Int( t )
Print String( n )

型別平衡

[編輯 | 編輯原始碼]

在執行加法或乘法之類的算術運算時,有可能提供不匹配的引數型別。例如,加法運算子可用於將整數值新增到浮點值。但結果應該是什麼型別呢?

BlitzMax 透過平衡引數型別來決定結果型別。然後,兩個引數都將轉換為結果型別,然後應用運算子。

控制型別平衡的規則是

  • 如果任一引數是 雙精度浮點型,則結果為 雙精度浮點型
  • 否則,如果任一引數是 浮點型,則結果為 浮點型
  • 否則,如果任一引數是 長整型,則結果為 長整型
  • 否則,結果為 整型
華夏公益教科書