链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
Solidity语言11
Solidity是以太坊智能合约的编程语言,我自己也是学习了很久,感觉是有些难度,所以需要去认真的去了解并理解,今天所讲的有基础也有深入的分析,阅读之前,需要对以太坊、智能合约进行初步或者深入的了解。
结构体
Solidity提供struct来定义自定义类型,自定义的类型是引用类型。 我们看看下面的例子:
pragma solidity ^0.4.11;
contract CrowdFunding {
// 定义一个包含两个成员的新类型
struct Funder {
address addr;
uint amount;
}
struct Campaign {
address beneficiary;
uint fundingGoal;
uint numFunders;
uint amount;
mapping (uint => Funder) funders;
}
uint numCampaigns;
mapping (uint => Campaign) campaigns;
function newCampaign(address beneficiary, uint goal) public returns (uint campaignID) {
campaignID = numCampaigns++;