Appearance
常量
Solidity
中的常量是指一旦定义,其值无法更改的变量。
使用常量可以增加代码的可读性和可维护性,因为它可以避免其他部分的代码意外更改变量的值。
在 Solidity
中定义常量可以使用关键字 constant
和 immutable
,这两者在最近的版本中已经没有了二义性。
示例
这里我们给出使用 immutable
定义常量的例子:
solidity
pragma solidity ^0.8.0;
contract ConstantsExample {
// 定义一个不可更改的常量
immutable uint256 constant MY_CONSTANT = 123;
function getConstant() public view returns (uint256) {
// 返回常量的值
return MY_CONSTANT;
}
}
在上面的示例中,我们定义了一个名为 MY_CONSTANT
的常量,并将其设置为123
。由于 MY_CONSTANT
是一个immutable
常量,因此其值无法更改。
在 getConstant()
函数中,我们使用了 view
来声明这个函数不会修改合约状态,并返回 MY_CONSTANT
的值。在 Solidity
中,view
关键字和 pure
关键字用来表示合约函数不会修改合约状态。
有了这个常量,我们可以在代码中多个地方使用它,而不用担心其值会被修改。如果我们尝试修改 MY_CONSTANT
的值,Solitidy
编译器将抛出一个错误。
solidity
// 错误:无法更改"MY_CONSTANT",因为它是不可更改的
MY_CONSTANT = 456;