Solidityの基礎:マッピング(mapping)を定義する
マッピング(mapping)とは
マッピングは、鍵(キー)に対して、特定の値(バリュー)を対応させた形で保持します。
配列と並んで、複数の状態変数を保持する仕組みであり、鍵から特定の値を引っ張れるため、RDBに近いイメージで用いることができます。
マッピングにおいても、状態変数や配列と同様に「public」「private」などの修飾詞を指定します。
マッピング(mapping)を定義する
Solidityでマッピングを宣言する際には、以下のように「mapping(鍵の型 => 値の型) public/private マッピング名」と記述します。
様々なマッピングを定義する場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
pragma solidity ^0.4.19; contract SampleContract { //各ウォレットアドレス毎のトークン残高を保持するマッピング mapping(address => uint256) public tokenBalance; //structを値に保持することもできます struct Human { uint16 age; string name; } mapping(address => Human) public addressToHuman; //鍵を2つ持つこともできます。tokenのコントラクトアドレス=>timestamp=>価格と保持するマッピング。 mapping(address => uint256 => uint256) public tokenValue; } |
Solidityの初心者向けガイドに戻る
基礎編1:状態変数 / 構造体 / マッピングの基礎を理解する
- DApps開発入門:Solidityの基礎:スマートコントラクトの定義と継承
- DApps開発入門:Solidityの基礎:状態変数を定義する
- DApps開発入門:Solidityの基礎:数式を演算する
- DApps開発入門:Solidityの基礎:構造体(struct)を定義する
- DApps開発入門:Solidityの基礎:配列を定義する
- DApps開発入門:Solidityの基礎:マッピング(mapping)を定義する
コメントを残す