一 . Solidity 支持三種型別的變數:
- 狀態變數 – 變數值永久保存在合約存盤空間中的變數,
- 區域變數 – 變數值僅在函式執行程序中有效的變數,函式退出后,變數無效,
- 全域變數 – 保存在全域命名空間,用于獲取區塊鏈相關資訊的特殊變數,
-
狀態變數
contract Test { string public name; function setName(string memory _n) public { name = _n; } } -
區域變數
contract Test { function get()public pure returns(uint){ uint a = 1; uint b = 2; return a+b; } } -
全域變數
contract Test { function get()public view returns(uint){ return block.number; } }更多的全域變數:

二. Solidity 支持兩種型別的常量:
- constant – 可修飾字串、值型別,對于constant 常量, 他的值在編譯時確定,
- immutable – 可修飾值型別,對于immutable 常量, 他的值在部署時確定,
? ps:使用constant 和immutable 可以節省gas
contract A {
string constant s1 = "abc";
// string immutable s2 = "abc"; //error
uint public immutable a;
address public immutable owner = msg.sender;
// uint[3] constant a = [1,2,3]; //error
constructor(uint _a){
a = _a;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/332157.html
標籤:區塊鏈
上一篇:我對價值投資的思考(一)
下一篇:橢圓曲線數字簽名應用原理
