zoukankan      html  css  js  c++  java
  • solidity语言9

    输入参数

    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)(); }
    }
    
    info函数必须使用payable修饰符
    

    通过new建立合约

    合约使用关键字new创建新合约
    
    pragma solidity ^0.4.0;
    
    contract D {
        uint x;
        
        function D(uint a) public payable {
            x = a;
        }
    }
    
    contract C {
        D d = new D(4); // will be executed as part of C's constructor
        
        function createD(uint arg) public {
            D newD = new D(arg);
        }
    
        function createAndEndowD(uint arg, uint amount) public payable {
            // Send ether along with the creation
            D newD = (new D).value(amount)(arg);
        }
    }
    
  • 相关阅读:
    linux上mysql安装详细教程
    druid部署
    druid.io本地集群搭建 / 扩展集群搭建
    CentOS7.1.x+Druid 0.12 集群配置
    Python小项目四:实现简单的web服务器
    hadoop学习---运行第一个hadoop实例
    Hadoop集群完全分布式坏境搭建
    mysql备份与恢复
    mysql登录的三种方式
    nginx代理,负载均衡
  • 原文地址:https://www.cnblogs.com/liujitao79/p/8483583.html
Copyright © 2011-2022 走看看