Solidity-方法

前言:

合约发布工具及版本:mist v0.9.3

一:方法相关的修饰词

定义方法的格式:

function name() {public|private|internal|external} [constant][payable] [returns(<return types>)]{
...
}
  1. external:
    可以被其他合约调用,但是在自身合约内不能直接调用,需要this.f()这样调用;
  2. public:
    既可以被其他合约调用,也可以内部直接调用
  3. internal:
    只能在合约和其子类合约中使用
  4. private:
    只能在自己的合约内使用,子类中也不能使用

二:实例

pragma solidity ^0.4.18;
contract A {
    uint public data = 100;
    function test(string _s) external pure returns(bytes32){
        return keccak256(_s);
    }

    function test2() public pure returns(uint){
        return 10;
    }
}


contract B {
    bytes32 public b32;
    uint public u;
    uint public kdata;

    A a = new A();

    function test() public returns(bytes32){
        b32 = a.test("a");
        kdata = a.data();
        return b32;
    }

    function test2() public{
        u = a.test2();
    }
}

你可能感兴趣的:(区块链)