// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/*
常量是指不能修改的变量,状态变量,在合约里使用常量量可以节约汽油费
类型
constant
常量关键字、除了初始化赋值意外禁止赋值不占内存槽位即无gas费用
immutable
不可变量的关键字,只允许在构造时赋值一次,之后同常量一样无gas费用
声明语法
constant=;
immutable;
eg:
uint public constant IHAN = 520;
uint public immutable NIU ;
*/
//演示常量和不可变量的声明和用法
contract Constant {
//变量名大写
uint public constant IHAN1 =520;
address public constant MYADDRESS1 = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
uint public immutable IHAN2;
address public immutable MYADDRESS2 ;
//构造函数
constructor(uint _myUint){
IHAN2 = _myUint;
MYADDRESS2 = msg.sender;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/*
常量是指不能修改的变量,状态变量,在合约里使用常量量可以节约汽油费
类型
constant
常量关键字、除了初始化赋值意外禁止赋值不占内存槽位即无gas费用
immutable
不可变量的关键字,只允许在构造时赋值一次,之后同常量一样无gas费用
声明语法
<data type><access specifier>constant<name>=<initialization>;
<data type><access specifier>immutable<name>;
eg:
uint public constant IHAN = 520;
uint public immutable NIU ;
*/
//演示常量和不可变量的声明和用法
contract Constant {
//变量名大写
uint public constant IHAN1 =520;
address public constant MYADDRESS1 = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
uint public immutable IHAN2;
address public immutable MYADDRESS2 ;
//构造函数
constructor(uint _myUint){
IHAN2 = _myUint;
MYADDRESS2 = msg.sender;
}
}