构造函数的作用

构造函数是特殊的函数,在部署合约的时候,就会被调用。而且只能够在此时被调用。
常常用于对于某一些状态变量的初始化。

构造函数

在老版本的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;


// 将部署者地址存储到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{
// function ontractinit() public{
// a = 100;
// }

// function ontractinit(uint _a,uint _b) public{
// a = _a;
// }
uint public a ;
address public owner;
constructor(uint _a) public{
a = _a;
}
constructor() public {
owner = msg.sender;
}

}

本文链接:https://dreamerjonson.com/2018/11/22/solidity-31-constructor/

版权声明:本博客所有文章除特别声明外,均采用CC BY 4.0 CN协议许可协议。转载请注明出处!