solidity智能合约[31]-构造函数
原创
©著作权归作者所有:来自51CTO博客作者gopher梦工厂的原创作品,请联系作者获取转载授权,否则将追究法律责任
构造函数的作用
构造函数是特殊的函数,在部署合约的时候,就会被调用。而且只能够在此时被调用。
常常用于对于某一些状态变量的初始化。
构造函数
在老版本的solidity编译器中,构造函数是和合约名字同名的
1 2 3 4 5 6 7 8 9 10 11
| contract ontractinit{
uint public a ;
function ontractinit() public{ a = 100; }
function ontractinit(uint _a,uint _b) public{ a = _a; }
|
新版本的solidity编译器中,使用关键词constructor作为构造函数
1 2 3 4 5 6 7 8 9 10 11 12 13
| uint public a ; address public owner;
constructor() public { owner = msg.sender; }
constructor(uint _a) public{ a = _a; }
|
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| pragma solidity ^0.4.23;
contract ontractinit{
uint public a ; address public owner; constructor(uint _a) public{ a = _a; } constructor() public { owner = msg.sender; }
}
|