Appearance
结构体
结构体(Struct)是一种用户自定义的数据类型,它允许您组合已定义类型的多个元素以创建自己的类型。
示例
以下是一个简单的 Solidity 结构体示例:
solidity
pragma solidity ^0.8.0;
contract MyContract {
struct Person {
string name;
uint age;
}
Person[] public people;
function addPerson(string memory _name, uint _age) public {
Person memory newPerson = Person({
name: _name,
age: _age
});
people.push(newPerson);
}
}这个 【人】 的结构体包含两个成员变量:名字和年龄。我们在合约中定义了一个 [Person] 数组,并且实现了一个函数 addPerson 来向数组中加入新的人员。
这个函数接受两个参数:新人员的名字和年龄。它创建一个新的 Person 实例,并将其添加到数组中。
例如,当我们使用名称 Alice 和年龄 28 调用 addPerson 函数时,这将在数组中添加一个新的人:
solidity
myContract.addPerson("Alice", 28);然后,我们可以在钱包或者 Solidity IDE 中查询该人员数组,就可以看到已经添加了一个名为 Alice 、年龄为 28 的人员。