09-Solidity8.0-常量

205 阅读1分钟

状态变量可以被定义为constant常量;

一般用全大写加下划线的格式表示,如 MY_ADDRESS;

不是所有的类型都支持常量,当前支持的仅有值类型和字符串。

下面的代码的区别是 有没有加constant ,部署合约可以看到 加了constant常量的合约消耗的gas费较少;

pragma solidity ^0.8.7;

contract Counter{
    address public constant MY_ADDRESS = 0x3Ded1C92C515138242839c7d30520f07f8D97508;
    uint public constant MY_UINT = 123;

}
contract Var{
    address public  MY_ADDRESS = 0x3Ded1C92C515138242839c7d30520f07f8D97508;
    uint public constant MY_UINT = 123;

}