solidity-3.常量

常量(constant state variables)

状态变量可以被定义为constant常量,类似于java的static静态变量,常量有如下规定:

  • 不是所有的类型都支持常量,当前支持的仅有值类型字符串
  • constant常量必须在编译期间通过一个表达式赋值
  • 编译器并不会为constant常量storage上预留空间
pragma solidity ^0.4.0;

contract C {
    uint constant x = 32**22 + 8;
    string constant text = "abc";
    bytes32 constant myHash = keccak256("abc");
}

常函数(Constant Functions)

函数也可被声明为常量,这类函数将承诺自己不修改区块链上任何状态。

pragma solidity ^0.4.0;

contract C {
    function f(uint a, uint b) constant returns (uint) {
        return a * (b + 42);
    }
}

你可能感兴趣的:(solidity-3.常量)