2 Star 3 Fork 4

GKing/Solidity8_perfect

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
S_30_Visibility.sol 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
GKing 提交于 2022-11-08 15:01 . Visibility 可视范围
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
// Visibility 可视范围
// private 私有的- only inside contract
// internal 内部的 - only inside contract and child contracts
// public 公开的 - inside and outside contract
// external 外部的 - only from outside contract
contract VisibilityBase {
uint private x = 0;
uint internal y = 1;
uint public z = 2;
function privateFunc() private pure returns (uint) {
return 0;
}
function internalFunc() internal pure returns (uint) {
return 100;
}
function publicFunc() public pure returns (uint) {
return 200;
}
function externalFunc() external pure returns (uint) {
return 300;
}
function examples() external view {
x + y + z;
privateFunc();
internalFunc();
publicFunc();
// 外部函数可以使用this关键字访问,比较浪费gas,不建议使用
this.externalFunc();
}
}
// 外部合约继承于父合约
contract VisibilityChild is VisibilityBase {
function examples2() external view {
y + z;
// 可以调用内部方法
internalFunc();
// 可以调用公开方法
publicFunc();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jacky2code/solidity8_perfect.git
[email protected]:jacky2code/solidity8_perfect.git
jacky2code
solidity8_perfect
Solidity8_perfect
master

搜索帮助