solidity 变量
- 状态变量 变量值永久保存在合约存储空间中的变量
- 局部变量 变量值仅在函数执行过程中有效的变量,函数退出后,变量无效
- 全局变量 保存在全局命名空间,用于获取区块链相关信息的特殊变量
例子
1 状态变量
// SPDX-License-Identifier: SimPL-3.0
pragma solidity ^0.7.0;
contract SolidityTest {
uint storedData; // 状态变量
constructor() public {
storedData = 10; // 使用状态变量
}
}
2 局部变量
// SPDX-License-Identifier: SimPL-3.0
pragma solidity ^0.7.0;
contract SolidityTest {
uint storedData; // 状态变量
constructor() public {
storedData = 10;
}
function getResult() public view returns(uint){
uint a = 1; // 局部变量
uint b = 2;
uint result = a + b;
return result; // 访问局部变量
}
}
3 全局变量
这些是全局工作区中存在的特殊变量,提供有关区块链和交易属性的信息。
注意:
1 变量名区分大小写,比如Name和name是两个不同的变量。