Zilliqa官方文檔(五)- 原生數(shù)據(jù)類型和操作

本系列文檔翻譯版權歸FireStack團隊所有,轉載請注明來源。

整型(Integer Types)

Scilla定義了32位,64位和128位的有符號和無符號整數(shù)類型。計劃在未來支持256位整數(shù)??梢允褂藐P鍵字指定這些整數(shù)類型IntXUintX其中 X可以是32,64或128.例如,可以將128位的無符號整數(shù)指定為Uint128。

注意:與貨幣相關的價值(如轉賬金額或賬戶余額)是Uint128

以下是整數(shù)類型的內置用法,每個方法采用兩個整數(shù)IntX/ UintX(參數(shù)需為相同類型)作為參數(shù)。

  • eq s1 s2:判斷i1是否等于i2,返回Bool。
  • add s1 s2i1與i2之和。返回同一類型的整數(shù)。
  • sub i1 i2i1與`i2之差。返回同一類型的整數(shù)。
  • mul i1 i2i1i2之積。返回同一類型的整數(shù)。
  • lt i1 i2:判斷i1是否比i2小。返回Bool

字符串(Strings)

與大多數(shù)語言一樣,Scilla中的String用雙引號括起來的字符表示。使用String來聲明變量類型。

以下是String的內置用法:

  • eq s1 s2String s1是否等于String s2。返回Bool。
  • concat s1 s2:將String s1String s2合并。返回String
  • substr s1 i1 i2:在字符串s1中,自位置Uint32 i1開始,提取長度為Uint32 i2的字符串。返回String。

哈希值(Hashes)

Scilla內置了對Hash的支持。Hash文字以0x字母開頭并具有64個十六進制字符(32個字節(jié))。 Hash指定此類型的變量。

以下Hash操作是內置用法。在下面的描述中,Any可以是IntX,UintX,StringAddressHash等類型。

  • eq h1 h2Hash h1是否等于Hash h2。返回Bool
  • dist h1 h2Hash h1Hash h2之間的距離。返回Uint128。未來會支持Uint256,可直接返回Uint256。
  • sha256 x:值為x的SHA256哈希值。返回Hash。

映射(Maps)

Map即為映射類型值。“鍵”含IntX, UintXString,HashAddress等類型?!爸怠笨梢允侨魏晤愋?。

  • put m k v:在映射m中插入鍵k和值v。除了之前的鍵/值對外,還返回包含最新插入的鍵/值的新映射。
  • get m k:在映射m中,對于密鑰k,返回關聯(lián)值v(值為Option類型,可查閱后文介紹)。如果k不在映射m中,則返回值為None
  • remove m k:從映射m中刪除鍵k及其關聯(lián)值。返回一個更新后的映射。
  • contains m k:鍵k及其關聯(lián)值是否存在于映射m中。返回Bool。

地址(Addresses)

Address數(shù)據(jù)類型可用來表示“地址”,必須都用Address聲明。Address皆以0x為開頭,長度為40個十六進制字符(相當于20個字節(jié))。

以下Address操作是內置用法:

  • eq a1 a2Address a1是否等于Adress a2。返回Bool

塊號(Block Numbers)

塊號是Scilla中的一種專用數(shù)據(jù)類型。此變量類型用BNum來聲明,BNum是指以block為前綴的數(shù)字(例如block 101)。

以下BNum操作是內置用法:

  • eq b1 b2BNum b1是否等于BNum b2。返回Bool。
  • blt b1 b2BNum b1是否小于BNum b2。返回Bool。
  • badd b1 i1:將UintX i1添加到BNum b1。返回BNum。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容