問題一覧に戻る
中級データ型
問題37: 配列を持つ構造体
Solidityで複雑なデータ構造のために構造体と配列を組み合わせる方法を学習します。構造体はメンバーとして動的配列を含むことができ、メンバーリストを持つチームやアイテム配列を持つ注文のような柔軟なデータモデルを可能にします。構造体内の配列はストレージ参照なので、変更は永続的です。このパターンはユーザープロファイル、ゲームデータ、ビジネスエンティティのDAppsで一般的です。この組み合わせの理解は現実世界の関係のモデル化とスマートコントラクトのストレージパターンの最適化に不可欠です。
pragma solidity ^0.8.0;
contract StructWithArray {
struct Team {
string name;
[] members;
}
Team public team;
// 配列にメンバーを追加
function addMember(address member) public {
team.members._(member);
}
// 配列の長さを取得
function getMemberCount() public view returns () {
return team.members.;
}
}