External/Internal

Solidity 中的 external 和 internal 是控制函数访问权限的关键字,它们用来指定函数的可见性。external 函数是可以从外部调用的函数,只有合约的外部调用者才能调用这个函数,而 internal 函数则是只能在合约内部调用的函数。

通常,在 Solidity 中,函数默认情况下是 external 的,但是如果函数有 internal 关键字,则只能在合约内部调用,外部调用者无法调用此函数。

Public/Private

Solidity 中的 public 和 private 也是控制函数访问权限的关键字,它们用来指定函数的可见性。public 函数是可以从外部调用的函数,只有合约的外部调用者才能调用这个函数,而 private 函数则是只能在合约内部调用的函数。

通常,在 Solidity 中,函数默认情况下是 public 的,但是如果函数有 private 关键字,则只能在合约内部调用,外部调用者无法调用此函数。

下面是一个使用 external 和 public 关键字的示例:

12345678
Solidity (Ethereum)

contract MyContract {

uint256 public count;

function increment() external {

count++;

}

}

在这个例子中,count 变量是 public 的,可以从外部访问,而 increment 函数是 external 的,只能从外部调用。