装饰符
向 @private
@public
@constant
@payable
这样的装饰符在每个函数的开头声明。
Private
@private
使合约外部的函数无法访问此函数。
Public
@public
使该函数公开可见和可执行。例如,即使是以太坊钱包也会在查看合约时显示公共函数。
Constant
以 @constant
开始的函数不允许状态变量的改变,实际上,如果函数尝试更改状态变量,编译器将拒绝整个程序(带有适当的警告)。如果该函数用于更改状态变量,则不要在函数的开头使用`@ constant`。
Payable
只有以 @payable
开头声明的函数才能接收价值。
Vyper明确地实现了装饰符的逻辑。例如,如果一个函数前面有一个`@appay`装饰符和一个`@ constant`装饰符,那么Vyper代码编译过程就会失败。当然,这是有道理的,因为常量函数(仅从全局状态读取的函数)永远不需要参与值的转移。此外,每个Vyper函数必须以`@ public`或`@private`装饰符开头,以避免编译失败。同时使用`@public`装饰符和`@private`装饰符的Vyper函数也会导致编译失败。
当前内容版权归 inoutcode 译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 inoutcode 译 .