Note
認識 solidity 中的變量類型以及值類型
-
值類型(Value Type) : 包含布爾型別、整數等,賦值直接傳值
-
引用類型(Reference Type) : 包含數組和結構體,佔空間大,賦值直接傳址
-
映射類型(Mapping Type) : 存儲件值對的數據結構,可以理解為哈希表
-
布爾(bool)
注意 : && 和 || 運算符遵循短路規則
-
整型 : int、uint、uint256 等
-
地址類型
- 普通地址 : 存儲 單一個 20 字節的值
- payable address
-
字節數組
- 定長數組(值類型):bytes1、bytes8、bytes32 等,最多存 32 bytes 數據(bytes32)
- 不定長數組(引用類型)
-
枚舉 enum : 用於為 uint 分配名稱,使用名稱來代替從 0 開始的 uint
-
Q: 以下屬於 solidity 變量類型的是?
A: 以上皆是 -
Q: solidity中数值类型(Value Type)不包括?
A: float -
Q: 请解释下面这段代码的意思?
address payable addr; addr.transfer(1);
A: 合約向 addr 轉帳 1 wei
Tip
參考後面章節: 20. SendETH
- Q: bytes4類型具有幾個 16 進制位?
A: 8
Tip
bytes4 是固定長度的字節數組,表示 4 個字節(4 bytes)。每個字節由 2 個 16 進制位組成,所以總共有 4(字節) x 2(16 進制位/字節) = 8 個 16 進制位。
- Q: 以下运算能使a返回true的是?
A: bool a = 1 - 1 == 0 && 1 % 2 == 1