前言:
合约发布工具及版本:mist v0.9.3
一:方法相关的修饰词
定义方法的格式:
function name(<parameter types>) {public|private|internal|external} [constant][payable] [returns(<return types>)]{
...
}
- external:
可以被其他合约调用,但是在自身合约内不能直接调用,需要this.f()这样调用; - public:
既可以被其他合约调用,也可以内部直接调用 - internal:
只能在合约和其子类合约中使用 - 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();
}
}