900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 以太坊知识教程------智能合约(3)函数修饰符

以太坊知识教程------智能合约(3)函数修饰符

时间:2022-09-23 08:12:23

相关推荐

以太坊知识教程------智能合约(3)函数修饰符

1. solidity的五个关键字修饰符

2. 内部调用和外部调用

a. 内部调用:调用同一合约中的函数。内部调用对应 EVM 指令集中的 JUMP 指令,所以是非常高效的,在此期间内存不会被回收。

b. 外部调用:调用其他合约实例的方法

会创建一个消息发送给被调用的合约,如 this.a()或者 foo.bar()这样调用外部的合约函数,这里 foo 是一个合约的实例 。对其他合约函数的调用必须是外部调用,外部调用会将函数调用的所有参数都保存到内存中 。 注意,在构造函数中不能通过 this 调用函数,因为此时合约实例还未创建完成。

函数的默认属性为 public ,状态变量的默认属性为 internal ,并且不可设置为 externalpublic和private用于决定是否可以通过对象直接调用。internal和lexternal用于决定是否其它的合约可以调用。

外部异常情况:①调用的合约不存在;②被调用的不是一个合约账户,即该账户不包括代码;③被调用的函数抛出了异常;④调用过程中 Gas 耗尽

3. 传参

对于普通的函数调用,参数的传入顺序必须与声明时一致 。

4. 命名调用

Solidity 提供的一种特殊的函数调用方式

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。