solidi文档--函数可见性

solidity对函数和状态变量提供了四中可见性,分别为external, public, internal, private,对函数而言默认值为public,对状态变量而言不可能是external(不会有人专门在当前合约中定义一个变量给外部合约用而不允许当前合约使用)。下面将具体介绍这四种可见性。

1. external

外部函数是合约接口的一部分,这意味着它们可以从其他合约或者交易调用,外部函数不允许内部调用当时调用,否则会报错。如果非要在当前和月内调用,可以使用强制外部调用( this.f() )的方式执行。外部函数在接收打得数组数据的时候更加有效。

2. public

公开函数是合约接口的一部分,既允许以internal的方式调用,也允许以external的方式调用。函数声明默认其可见性为public。

3. internal

internal声明的函数或者状态变量只能通过内部访问,如当前合约内的函数、引入的库函数、继承的合约的函数等,需要注意的是不能用前缀this.访问内部函数,因为这是强制外部访问的方式。

4. private

private声明的函数和状态变量仅在定义的合约中可见,其他无论是外部合约还是派生的子合约都无权调用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值