1. 程式人生 > 其它 >solidity學習(七)-- 資料型別

solidity學習(七)-- 資料型別

solidity官方文件太多了,我今天實在不想自己總結了,所以這部分的學習引用了CSDN的:

https://blog.csdn.net/lj900911/article/details/83037625

感謝這位博主。

0x01 solidity數據型別分類

  值型別:布林型別(bool)、整型(int)、地址型別(address)、定長位元組陣列(bytes)、列舉型別(enum)、函式型別(function);

  引用型別:字串(string)、陣列(array)、結構體(structs)、對映(mapping)、不定長位元組陣列(bytes)
0x02 具體說明

【下次做一個表格 今天先佔個坑】
1、整型:
  solitity中的整型與JavaScript不同,該型別支援有符號(int)或無符號(uint)兩種型別,也支援從uint8到uint256,以及從int8到int256等多種型別。所以長度是  2**8~2**256位元組。

2、地址型別(address)
  以太坊中的地址的長度為20位元組,一位元組等於8位,一共160位,所以address其實亦可以用uint160來宣告。

3、列舉型別(enum)
   一個變數可能的取值都知道,就可以把它定義為列舉型,然後把變數的值一一列出來,令變數的值只限於列舉出來的值的範圍內。例如月份、星期幾、天氣等情況,列舉型別用enum關鍵字來定義。

enum weekday{sun,mon,tue,wed,the,fri,sat};

4、結構體(struct)

5、對映

  mapping(_KeyType => _ValueType)

  mapping不是資料型別,mapping(address => uint)才是用來宣告變數balances的資料型別。

6、陣列
  solidity中陣列可以分為可變陣列和不可變陣列。

7、字串、動態位元組陣列和固定位元組陣列 三者相互轉換

珍惜時間,只錯一次