solidity: view和pure关键字
Solidity 中的 pure 和 view 是函数修饰符关键字,用于声明函数的属性和行为。它们的作用如下:
- 
pure关键字:用于声明函数是纯函数,即函数不读取或修改合约的状态变量,并且不与外部合约进行交互。纯函数只根据输入参数计算结果,并返回一个值。- 纯函数不会改变合约状态,也不会发送交易或调用其他合约。
- 纯函数内部不能访问 msg、block和tx这些全局变量。
- 纯函数在不同的块上执行时,给定相同的输入参数,总是返回相同的结果。
 使用 pure关键字可以提供以下好处:- 在编译时进行静态检查,确保函数不会修改状态或与外部合约交互。
- 提供更好的可读性和可理解性,明确函数的行为和约束。
- 允许 Solidity 编译器进行更多的优化,提高代码执行效率。
 示例使用 pure关键字的函数定义:solidityfunction add(uint256 a, uint256 b) public pure returns (uint256) { return a + b; } ```
- 
view关键字:用于声明函数是视图函数,即函数不修改合约的状态变量,但可以读取合约的状态。视图函数用于查询合约状态或计算结果,而不会改变合约的状态。- 视图函数不会改变合约状态,也不会发送交易或调用其他合约。
- 视图函数可以读取合约的状态变量和其他视图函数的返回值。
- 视图函数内部不能修改状态变量的值。
 使用 view关键字可以提供以下好处:- 在编译时进行静态检查,确保函数不会修改状态。
- 允许在函数中访问合约的状态,并进行相应的计算和查询操作。
- 允许 Solidity 编译器进行更多的优化。
 示例使用 view关键字的函数定义:solidityfunction getBalance(address account) public view returns (uint256) { return balances[account]; } ```
总结起来,pure 和 view 关键字用于在 Solidity 中声明函数的属性,以提供更好的代码可读性、约束和优化。pure 用于纯函数,而 view 用于视图函数。这些修饰符有助于更清晰地定义和理解函数的行为和用途。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号