View pure修饰符:

使用viewpure不需要gwei

view:不能修改链上数据只能访问

pure:不能访问链上数据,被修饰的方法里的变量只能在方法内使用

contract ViewPureExample {

    uint public age;

 

    function increaseAge() public{

        age ++;

}

 

    function GetViewAge() public view returns(uint){ //view 修饰

        //age ++;// 不可修改变量

        return age;

}

 

function GetPureAge(uint age) public pure returns(uint){ //因为pure方法 所以需要设置参数

       

        age ++;

 

        return age;//如果直接return会直接报错  因为pure修饰 所以不能访问方法外的变量

 

    }

}

 

Public internal private external 方法修饰符:

public:任何地方都可以调用

internal:只有本sol文件调用

private:只有本合约能调用

external:只能从外部调用即合约外部

 

contract PublicExternalPrivateInternal {

    uint age = 100;

 

    function GetAgeWithPublic() public view returns(uint){  //外部内部都可调用

        return age;

    }

    function GetAgeWithInternal() internal view returns(uint){ // 本sol文件调用

        return age;

    }

 

    function GetAgeWithPrivate() private view returns(uint){ //本合约调用

        return age;

    }

function GetAgeWithExternal() external view returns(uint){ //只能外部

//调用

        return age;

    }

    function Callfunction() public view returns(uint){

        return GetAgeWithPrivate();//方法可以调用方法只要被调用的方法允许

    }

}

可以自行编译后尝试调用查看输出

 

简单的合约调用:

contract Salary {

    uint public data;

 

    function getData() external view returns(uint){

        return data;

}

 

    function setData(uint _data) external {

        data = _data;

    } 

}

 

contract Employee {

    Salary salart;

    constructor(){

        salary = new Salary();

    }

    function getSalary() external view returns(uint){

        return salary.getData();

    }

    function setSalaty(uint _data) external {

        salary.setData(_data);

    }

}

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/xingzheakai/p/17051945.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!