Solidity中的构造函数有什么用?

我是一个solidity初学者.我想知道为什么要使用构造函数.它是用来声明数据类型的吗?下面是我做的两个例子。而且这两个例子的工作方式相同,实现的结果也相同。

//--without constructor
pragma solidity 0.5.1;

contract MyContract {
   mapping(address => uint256) public balances;
   address payable wallet;


function buyToken() public payable {
    balances[msg.sender] += 1;
    wallet.transfer(msg.value);

   }
}

//------------ with constructor
pragma solidity 0.6.5;

contract MyContract {
    mapping(address => uint256) public balances;
    address payable wallet;

constructor(address payable _wallet) public {
    wallet = _wallet; //I don't know why they did "wallet = _wallet;"...it seems very inconvenient..
   }

function buyToken() public payable {
    balances[msg.sender] += 1;
    wallet.transfer(msg.value);

   }
}

即使它们的工作方式相同,为什么我需要构造函数。请给我讲讲。

解决方案:

构造函数和其他编程语言是一样的,尤其是在面向对象的语言中。

https:/en.wikipedia.orgwikiConstructor_(object-oriented_programming)

在Ethereum区块链中部署一个新的智能合约实例时,会调用一次Solidity构造函数。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在Ruby中迭代一个数组的第2个元素?[重复]

2022-9-9 4:24:19

未分类

在Python中使用replace、sub string和find替换字符串中的多个值。

2022-9-9 4:24:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索