基于以太坊的智能合约开发教程 Solidity 变量的生命周期与值传递

基于以太坊的智能合约开发教程 Solidity 变量的生命周期与值传递

pragma solidity ^0.4.0;

contract valuecopy{
    
    uint public  a = 200;
    
    //  a  = 100;  定义完之后不能给全局变量重新赋值,会报错
    
    function test()public view returns(uint){
    // 函数体内可对局部变量进行重新赋值
        uint a =400;
        a = 700;
        return a;
    }
    
    
    function test1(uint a)public view returns(uint){
        a = 700;
        return a;
    }
    






    function test2(){
        a = 8888;
    }
    
    uint public b =  300;
    
    function test3()public view returns(uint,uint){
        // 值传递,并不会改变变量原有的值,这里b1的值不会改变
        uint a1 = 10;
        uint b1 = a1;
        a1 =19;
        return (a1,b1);
    }
    
    function test4(uint mm) view  returns(uint){
        mm++;
        return mm;
    }
    
    function test5() view returns(uint){
        //  调用test4中的函数使得b进行自增,test5函数返回的结果会是b++;但是全局变量b的值并不会改变
       return test4(b);
    }
}
上一篇:Solidity学习笔记(二):智能合约基本构成


下一篇:037.PGSQL-事务 savepoint 保存点、rollback to 回滚