### internal VS external 🤝
🏠 internal
- 当使用internal关键字时,这意味着函数仅在合约内部可见。它类似于一家人的私房话,外人无法了解。
- internal函数只能被合约本身或继承自该合约的子合约所调用。
🌍 external
- 相较之下,external关键字标明该函数可供外界访问。这就相当于大声向世界宣布,任何人都可以与之对话。
- external函数可以由交易或其他合约来调用,但它们不能被合约内的其他函数直接调用(除非使用this.functionName()的方式)。
👇 minus() —— 房内密谈,不能让外人听见。
sminus()
: 这是一个内部函数,只能被合约内部调用。它减少一个名为 number
的变量的值。
function minus() internal {
number--;
}
📞 minusCall() —— 外部电话,内部接线员接听。
minusCall()
: 这是一个外部函数,它调用了内部函数 minus()
。由于外部调用者无法直接调用内部函数,因此必须通过外部函数来间接调用内部函数。
function minusCall() external {
minus();
}
💰 minusPayable() —— 敞开大门,钱财进来。
minu