広告

第8話:データを整理整頓!複雑な情報を扱う「構造体 (struct)」で独自データ型を作る

第8話:データを整理整頓!複雑な情報を扱う「構造体 (struct)」で独自データ型を作る

概要

mappingの能力を最大限に引き出す、Solidityの「構造体 (struct)」を徹底解説します。ユーザーID・名前・残高といった複数の関連データを、あなただけのオリジナルなデータ型にまとめる方法を学習。

mapping(address => User)という王道パターンを使い、複雑な情報を整理整頓し、本格的なDAppのデータ層を設計するスキルが身につきます。

目次
Solidity学習講座:最終版 目次(全20話)
Solidity学習講座:最終版 目次(全20話)

基礎編 第1話:未来のインターネットへようこそ!Solidityとスマートコントラクトの全体像 第2話:準備は1分!ブラウザだけで開発できる「Remix IDE」の基本操作 第3話:記念すべき初コント ...

続きを見る

はじめに

第7話で、あなたはmappingという魔法の杖を手に入れました。mapping(address => uint)という一行で、無数のユーザーの残高を管理できるようになったのです。これは大きな進歩でしたね。

しかし、すぐに新たな課題が見えてきます。もし、あなたがユーザー管理システムを作りたいとして、ユーザーごとに以下の情報を保存したい場合はどうすればよいでしょうか?

  • ユーザーID(uint
  • ユーザー名(string
  • 会員ステータス(bool
  • ポイント残高(uint

もちろん、mapping(address => uint) userIds;mapping(address => string) userNames;... というように、情報の種類ごとにマッピングを増やすことも可能です。しかし、このアプローチは煩雑で、管理が大変になり、コードの見通しも悪くなってしまいます。

この課題をエレガントに解決するのが、今回学ぶ**struct(構造体)**です。

structは、関連する複数のデータを一つのグループにまとめ、あなただけのオリジナルなデータ型を作成するための機能です。これをmappingと組み合わせることで、あなたのスマートコントラクトのデータ管理能力は飛躍的に向上し、プロフェッショナルな設計への扉が開かれます。

-Solidity