首页 > 其他 > 详细

Solidity中函数访问权限,view,pure,constant,public的用法

时间:2019-04-05 10:16:38      阅读:739      评论:0      收藏:0      [点我收藏+]

函数访问权限:public,external,private,internal

//子类可以得到父类下面的方法,父类用了public,external的话

 

pragma solidity ^0.5.7;


contract Animal{
function tets1() pure public returns(uint){
//如果是public的话,外部是可以访问的,external外部也是可以访问的,private,interna只能是内部访问
return 100;
}
}

contract Cat is Animal{

}

 


//internal,priovate是只鞥是自己的内部使用,子合约是不能继承他的
//exteral,public子合约是可以继承的

 

 

constant:

如果加了constant的话,就不用调用call方法来获取值,比如在终端的时候不用调用这个call方法,直接可以打印出来了,可以返回变量的值

uint  public  n=100;

function speed() constant returns(uint){
return n;
}

 

public:

说明是外部的话就可以调用的

 

 

view:

既没有返回什么状态变量的值,也没有什么存粹的值的话(return 10,‘hello‘这些的)
比如返回return msg.render就可以使用view


pure:

就是很纯粹的意思,就是具体返回什么值回来,不是变量
如果下面是return p(带有状态变量的值)的话,不能用这个pure,得用constant,如果是return 12具体的某个数值的话,就可以用pure

 

pragma solidity  ^0.5.7;

contract  test{
  //属性
uint p; address _owner;
  //构造函数 function car()
public{ p=100; _owner=msg.sender; } //public的话可以外部调用 function get() public returns(uint){ return p; } //view,当不返回存粹的值或者是变量的时候,比如msg.sender使用 function get1() view public returns(address){ return msg.sender } //pure,返回存粹的值使用,123,‘hello‘ function get2() pure public returns(uint){ return 123 } //返回带有状态变量的值,_owner function get3() constant public returns(address){ return _owner } }

 

Solidity中函数访问权限,view,pure,constant,public的用法

原文:https://www.cnblogs.com/yunxintryyoubest/p/10657858.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!