solidity 智能合约中的“require”和“if”语句有什么区别

问题描述 投票:0回答:2

Require 是 Solidity 中的一个错误处理全局函数,它的运行方式基本上是这样的:如果 require 中的条件成立,那么编译器将执行在其下面编写的代码段。 然而,一般逻辑语句如果在 Solidity 中也具有相同的目的, 所以想知道这两者是否有区别。

solidity smartcontracts
2个回答
5
投票

不同之处在于,

require()
是一个错误处理语句,就像您所说的那样,但是如果该语句失败,则事务将被还原。然而,如果您有
if else
声明,则必须确保自己恢复交易。


0
投票

最好使用 If,因为它的 Gas 效率高。

© www.soinside.com 2019 - 2024. All rights reserved.