Skip to content

结构体

结构体(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 的人员。