我刚刚开始扎实地工作。我有一个像这样的函数:
function get() constant returns (uint) {
return storedData;
}
这里constant关键字有什么用?我知道在这个键盘之后我们正在定义返回类型,但为什么它前面需要常量?是否有替代方案,例如 var
?
最佳答案
“constant”关键字意味着函数不会改变合约的状态,这意味着它不会改变任何数据,因此合约状态和数据保持......不变。
这样的函数在节点中单独执行时不会消耗gas(如果在改变合约状态/数据的函数内运行,它可能会增加gas消耗,因为这样的函数调用需要由矿工执行并包含在内)在一个 block 中。
关于ethereum - Solidity返回函数为什么是常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867572/