Solidity - 函数修饰符2025年5月27日 | 7分钟阅读 函数修饰符可用于修改函数的行为。在执行函数之前,可以使用函数修饰符自动检查条件。 这些可用于各种目的。 函数修饰符可以在执行函数代码之前和之后使用。
语法创建函数修饰符的过程包括声明它们,然后在必要的函数中调用它们。 函数修饰符有两种类型 1. 带参数的函数修饰符2. 不带参数的函数修饰符如果修饰符没有参数,则不需要括号 ()。 合并通配符函数定义在执行期间会替换 "_;" 符号,也称为合并通配符。
基于参数的修饰符修饰符接受一个参数,该参数括在修饰符名称后的括号 () 中。 语法下面的 Solidity 程序演示了带参数的函数修饰符 输出 ![]() 理由1. 创建修饰符该代码生成 isPass 修饰符,该修饰符接受用户的百分比作为参数。 只有当百分比大于或等于 30 时,该函数才能使用此修饰符运行。 如果学生低于 30%,则会出现通知“必须确保至少 30% 才能通过”。 2. 调用修饰符要调用修饰符,请提供百分比值。 在此示例中,百分比被硬编码为 35,如下所示。 因此,信息将被记录。 无参数修饰符一个修饰符可以没有参数。 如果修饰符没有参数,则不需要括号 ()。 在这种情况下,修饰符名称是 mod_name,关键字是 functionmodifier。 显示没有参数的修饰符的 solidity 程序如下所示 输出 ![]() 理由1. 初始化地址上面的代码使用构造函数来初始化领导者的地址。 合同创建者的地址将保存在 Solidity 代码的 msg.sender 中。 因此,领导者被分配给该变量中包含的地址。 2. 修饰符创建以下代码创建 isLeader 修饰符。 此修改检查用户输入的地址是否与 leader 变量中的地址匹配。 3. 函数定义只要需要在定义之后应用上述约束,修饰符就会合并到函数中。 在此示例中,函数 inputValues 包含修饰符 isLeader,仅当从 leader 地址进行输入时,才允许用户输入学生详细信息。 多个修饰符一起运行一个函数可以有多个修饰符,并且为了使函数正常工作,需要满足每个要求。 引入了两个修饰符 isLeader 和 isPass,以检查是否只有至少 30% 的领导者正在编辑。 只有具有领导权限且至少 30% 的用户才能使用 inputValues 函数。 语法下面显示了使用多个修饰符工作的 solidity 程序 输出 ![]() 说明一个函数可以有多个修饰符。 调用修饰符的方式如下所示,将多个修饰符应用于一个函数。 因此,只有当用户是领导者并且至少有 30% 时,他们才能提交条目 覆盖修饰符与函数可以被覆盖类似,修饰符也可以被覆盖。 如演示所示,override 关键字允许在子类中覆盖来自父类的修改。 下面显示了用于方法覆盖的 solidity 程序 我们必须在修饰符覆盖中部署继承的合同才能部署该合同。 在这种情况下,我们必须选择并实现 moddest 合同。 修饰符利用枚举可以使用修饰符检查枚举变量的值(当它在全局范围内定义时)。 下面显示了实现枚举的 solidity 程序 输出 ![]() Solidity 修饰符的优点
下一个主题Solidity-函数 |
我们请求您订阅我们的新闻通讯以获取最新更新。