solidity基础-常量、变量和函数
一、常量
solidity 常量支持 值类型 和 字符串类型
contract ConstantTest { uint constant x = 11 ** 11; string constant text = "abcdefg"; }
二、变量
solidity 的变量和 其他语言一样,分为局部变量,全局变量,状态变量;
2.1、局部变量
变量仅在函数中有效;
contract VariableTest{ function getResult() public view returns(uint){ uint a = 1; return a; } }
2.2、全局变量 ( Global Variables )
在全局都有效的变量,保存在全局命名空间;
该变量返回区块数量
contract VariableTest{ function getResult() public view returns(uint){ return block.number; } }
还有以下全局变量[1]
2.3、状态变量
变量值永久保存在合约存储空间中的变量
contract VariableTest { uint storedData; constructor() public { storedData = 10; } }
三、函数
这个函数是官网的例子[2]
contract SimpleStorage { uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; } }
定义一个 uint 变量
uint storedData;
函数 set 赋值 storedData
function set(uint x) public { storedData = x; }
函数 get 获取 storedData
function get() public view returns (uint) { return storedData; }
部署测试,set 赋值 123, 通过 get 获取到 123
--------------------------------------------------------------------------------------------------------------------------------
引用:
[1] 全局变量 :https://docs.soliditylang.org/en/latest/units-and-global-variables.html
[2] 函数:https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html