注:学习笔记,仅供参考,如有错误,烦请指正
1. Solidity中function声明格式solidity 函数的完整声明格式为:
function 函数名(参数) public|private|internal|external pure|view|constant 无返回值|returns (返回值类型)
2. 状态变量访问权限:pure/ view/ constant
只有当函数有返回值的情况下,才需要使用 pure 、 view 、 constant
pure : 函数即不读取也不修改状态变量,当函数返回值为自变量而非变量时,使用 pure。view : 函数读取但不修改状态变量,当函数返回值为全局变量或属性时,使用 view。这里的状态变量还包含区块链的内建对象数据、时间戳等。constant : 可以理解为 view 的旧版本,与 view 是等价的注: 如果一个函数中带了关键字 view 或 constant ,就不能修改状态变量的值。但凡是是带了这两个关键字,区块链就默认只是向区块链读取数据,读取数据不需要花gas,但是不花gas就不可能修改状态变量的值。写入数据或者是修改状态变量的值都需要花费gas。
如果函数不加pure或view,则代表会修改状态变量的值
3. 函数的访问权限:public/ private/ internal/ external以太坊有四种函数类型,public private internal external
public:任何人都可以调用该函数,包括DAPP的使用者;public 最大的访问权限,子类可以继承、可以访问,当前类能访问private ,只有合约本身可以调用该函数,public,任何人都可以调用该函数;private 仅限内部访问,子类不能继承、不能访问internal 子类可以继承、可以访问,当前类可以访问external 子类可以继承、可以访问,当前类不能访问欢迎分享,转载请注明来源:内存溢出
评论列表(0条)