solidity智能合约[31]-构造函数
构造函数是特殊的函数,在部署合约的时候,就会被调用。而且只能够在此时被调用。
常常用于对于某一些状态变量的初始化。
在老版本的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协议许可协议。转载请注明出处!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。