构造函数是特殊的函数,在部署合约的时候,就会被调用。而且只能够在此时被调用。
常常用于对于某一些状态变量的初始化。
在老版本的solidity编译器中,构造函数是和合约名字同名的
1234567891011 | contract ontractinit{uint public a ;//无参数的构造函数function ontractinit() public{ a = 100;}//带参数的构造函数 function ontractinit(uint _a,uint _b) public{ a = _a;} |
新版本的solidity编译器中,使用关键词constructor作为构造函数
12345678910111213 | uint public a ;address public owner;// 将部署者地址存储到owner变量constructor() public { owner = msg.sender;}//带参构造函数constructor(uint _a) public{ a = _a;} |
1234567891011121314151617181920 | 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协议 许可协议。转载请注明出处!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。