返回文章列表

文章

Solidity中的view关键字

view 关键字用于修饰函数,表示该函数不会修改区块链上的状态

在 Solidity 中,view 关键字用于修饰函数,表示该函数不会修改区块链上的状态。 具体来说,当一个函数被声明为 view 类型时,它具有以下特性:

  1. 只读操作:它只能读取区块链上的状态变量,不能修改它们。这意味着它不能改变任何存储在合约中的数据,也不能发出事件或创建新的合约。
  2. 不消耗 Gas:由于 view 函数不修改状态,它们可以在不消耗任何 Gas 的情况下执行。这使得它们非常适合查询合约状态,例如获取余额、读取存储的变量等。
  3. 可以在链下调用view 函数可以由外部账户或DApp在不发送交易的情况下直接调用。这意味着你可以在不需要支付交易费用的情况下获取数据。 NumberInterface 这个例子中:
contract NumberInterface {
  function getNum(address _myAddress) public view returns (uint);
}

getNum 函数被声明为 view,这意味着:

  • 它将根据传入的 _myAddress 参数,从某个地方(例如,另一个合约的存储)读取一个数字。
  • 它不会改变任何区块链上的数据。
  • 调用这个函数不需要花费 Gas。 总结一下,view 关键字的作用是明确表示一个函数是“只读”的,不会对区块链状态产生任何影响,因此执行起来更高效、更便宜。

📎 参考文章#