📅  最后修改于: 2023-12-03 15:35:01.929000             🧑  作者: Mango
Solidity是基于以太坊区块链平台的编程语言,它专门用于编写智能合约。在编写智能合约的过程中,安全性是一项非常重要的考虑因素。因此,Solidity提供了一些特殊的访问修饰符(access modifiers),以确保智能合约的安全性和有效性。
访问修饰符是Solidity中用于限制特定函数和变量的访问权限的关键字。在Solidity中,有4种访问修饰符,分别是:
public
:任何人都可以访问该函数或变量。这是默认的访问修饰符。private
:只有合约内部的其他函数才能访问。internal
:只有合约内部和继承合约的合约才能访问。external
:只能在合约外部使用,不能在合约内部调用。pragma solidity ^0.8.0;
contract Car {
uint256 private _mileage;
string public make;
constructor(string memory _make) {
make = _make;
_mileage = 0;
}
function drive(uint256 miles) public {
_mileage += miles;
}
function getMileage() external view returns (uint256) {
return _mileage;
}
}
在上面的合约中,make
变量是公共(public
)的,因此可以从合约外部访问,而_mileage
变量是私有(private
)的,只有合约内部其他函数能够访问。
通过使用Solidity的访问修饰符,可以限制对智能合约中关键变量和函数的访问权限。这有助于确保智能合约的安全性和正确性,并且使合约更加健壮和可维护。