External/Internal

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

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

Public/Private

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

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

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

contract MyContract {

uint256 public count;

function increment() external {

count++;

}

}

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