Solidity:函数(function)的用法及其属性

Solidity:函数(function)的用法及其属性,第1张

注:学习笔记,仅供参考,如有错误,烦请指正

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 子类可以继承、可以访问,当前类不能访问

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2990898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存