Solidity函数修饰符

Posted beautiful7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solidity函数修饰符相关的知识,希望对你有一定的参考价值。

修饰符有很多

1.public和private:public表示公有都可以使用,private表示只能被这个合约使用

2.internal和external:  internal跟private比较类似,但是internal修饰的可以被继承的合约使用

3.external和public类似,但是不能被该合约使用

4.pure和view:view表示这个函数不会修改和保存任何东西,pure表示只跟输出只跟输入有关,不但不在区块链写数据而且不会用里面的数据,只会用输入的数据

5.还有修饰符modify:

   函数修饰符:函数修饰符跟函数是类似的,不用是用来修饰已有的函数,在其他语句执行前,为它先检验条件。关键字modifier(修饰符)

  调用函数修饰符常常用在函数的后面跟public和private等一个位置用来判断是否执行该函数

     函数修饰符通常使用下划线结尾

    如:modifier olderThan(uint _age,uint _userId){

      require(age[_userID]>= _age);

      _;  //以_;结尾表示函数正常返回继续执行之前的功能

  }

6.payable修饰符(可支付):

  payable函数是可以接受以太币的特殊函数

  在以太坊中可以在调用函数的时候付钱给另一个合约如:

contract OnlineStore { function buySomething() external payable {

  // 检查以确定0.001以太发送出去来运行函数:

  require(msg.value == 0.001 ether);

   // 如果为真,一些用来向函数调用者发送数字内容的逻辑

   transferThing(msg.sender);

  }

 }

 

  msg.value是用来查看向合约发送了多少以太币的办法,ether是一个以太网内建单元

 

以上是关于Solidity函数修饰符的主要内容,如果未能解决你的问题,请参考以下文章

Solidity:如何在函数修饰符中应用 OR 运算符?

Solidity 基础知识之访问修饰符

智能合约的函数与函数修饰符

智能合约的函数与函数修饰符

以太坊 solidity 函数修饰符总结 publicprivateinternalexternalviewpure的区别

智能合约实战 solidity 语法学习 04 [ 函数修饰符 view public private constant payable ] 附代码