可见性
| 类型 | 默认可见性 | 可选可见性 |
|---|---|---|
| function | public | public / internal / private / external |
| constructor | public | public / internal / private / external |
| variable | internal | public / internal / private |
| event | Not applicable | always public |
external:
如果一个 function 只会从外部调用时,使用 external 修饰,使用 external 定义的 function 通常比使用 public 定义的 function 更省 gas,特别是在入参为数组的情况下。
public:
public 修饰的 function 可以从合约外部调用也可以从合约内部调用。
public 修饰的 state variables 会默认生成一个 getter function,以便查询该变量的值。
internal:
internal 修饰的 function 和 state variables 只能被该合约或派生合约访问。
private:
private 修饰的 function 和 state variables 只能被本合约访问。
参考: https://docs.soliditylang.org/en/latest/contracts.html#visibility-and-getters




最新评论