是笔记和自己的话总结下来的一些文本,如果有大佬发现有错误,欢迎评论指出,谢谢。
solidity中的函数和状态变量一样,也有修饰符
函数的模版是:
function FunName(Types) {internal|external|public|private} {pure|view|payable} returns(Return Types)
internal:只能通过内部访问。(也是默认修饰符)
external:只能通过外部访问。
public:可以从内部或者外部访问。
private:只能从内部访问,继承合约不可访问。
pure:限制不能读写。
view:限制不能修改,等同于constant。
payable:可以从调用者那里收取ether。
external、public对比:
1、internal相比而言gas消费最少,因为参数是以内存指针传递的。
2、如果确定函数只会被外部调用,最好使用external。
3、this.f() 几乎没什么用,因为会引发call指令,非常昂贵。
先写这么多。