solidity智能合约[35]-function-automatic

自动生成函数

public属性的状态变量会自动的生成同名的函数。如果有何其一样的函数定义,则会替换掉默认的函数。

一般类型如int、bytes32、bool类型的函数会自动的生成同名的函数。
但是要注意的是,生成的函数的属性为external属性。

1
2
3
4
5
uint public num = 100;
自动生成的函数为:
function num() external pure returns(uint){
return 200;
}

动态数组与mapping类型函数会自动生成带参数的函数:

1
2
3
4
5
mapping(uint =>string) public map;
//自动生成的函数
function map(uint key) external view returns(string){
return map[key];
}

复杂的自动生成函数

1
2
3
4
5
mapping(uint=>mapping(uint=>uint)) public grademap;
//自动生成的函数
function grademap(uint key1,uint key2) external view returns(uint){
return grademap[key1][key2];
}