問題一覧に戻る
初級データ型
問題24: mapping基礎
Solidityのmappingを学習します。mappingはハッシュテーブルや辞書に似たキーと値のデータ構造です。定数時間での検索を提供し、mapping(keyType => valueType)として宣言されます。キーはmapping、構造体、配列を除く任意の組み込み型が可能です。すべての可能なキーはデフォルト値(数値は0、boolはfalse)で存在します。アドレスと残高の関連付けなど、データの関連付けに不可欠で、ほとんどのスマートコントラクトの基本です。
pragma solidity ^0.8.0;
contract MappingBasics {
// アドレスから残高へのマッピング
mapping( => ) public balances;
// アドレスから名前へのマッピング
mapping( => ) public names;
// 残高を設定
function setBalance(address user, uint256 amount) public {
[user] = amount;
}
// 名前を取得
function getName(address user) public view returns (string memory) {
return [user];
}
}