solidity语言8 
   
   
   
    
输入参数
 
    pragma solidity ^0.4.16;
contract Simple {
    function taker(uint _a, uint _b) public pure {
    // do something with _a and _b.
    }
} 
    
输出参数
 
    pragma solidity ^0.4.16;
contract Simple {
    function arithmetics(uint _a, uint _b) public pure returns (uint o_sum, uint o_product) {
        o_sum = _a + _b;
        o_product = _a * _b;
    }
}
关键字returns,返回参数如果没有,则返回0 
    
返回多个值
 
    return (v0, v1, ..., vn),函数的输出参数必须匹配同样数量参数 
    
内部函数调用
 
    pragma solidity ^0.4.16;
contract C {
    function g(uint a) public pure returns (uint ret) { return f(); }
    function f() internal pure returns (uint ret) { return g(7) + f(); }
} 
    
外部函数调用
 
    表达式 this.g(8), c.g(2)
当调用其他合约的函数,调用的转帐wei,gas使用.value() 和 .gas()
pragma solidity ^0.4.0;
contract InfoFeed {
    function info() public payable returns (uint ret) { return 42; }
}
contract Consumer {
    InfoFeed feed;
    function setFeed(address addr) public { feed = InfoFeed(addr); }
    function callFeed() public { feed.info.value(10).gas(800)(); }
} 
   
    
    
    
     
     
     
     
     
     
    
   
  
    posted on 
   
2018-02-28 14:48 
   北京涛子 阅读(
   
...) 评论(
   ) 
   编辑 
   收藏 
   
  
 
转载于:https://www.cnblogs.com/liujitao79/p/8483582.html