在 Solidity 中,使用 if() 和 require() 有什么区别?

In Solidity, what is the difference between using if() and require()?

我可以 运行 在条件 if 语句中编写代码。我还可以在 运行 一些代码之前要求一个条件。它们可以互换吗?或者有什么理由让我选择依赖其中一个而不依赖另一个?

不,它们不可互换。

if 条件为假时,执行下一个 condition/block 并且 else 块(如果有)为 运行。标准 if/else 编程逻辑。

require是错误处理语句。当 require 条件为假时,所有执行停止,事务回滚。

有关 require 的更多信息以及它与其他错误处理函数(例如 assertrevert 之间的区别,请参阅错误处理的 Solidity documentation