問題一覧に戻る
初級データ型
問題25: mappingの操作

Solidityでmappingの操作を学習します。mappingはO(1)の検索時間でキーと値の格納を提供します。ブラケット記法を使用した値の設定は簡単です。値の取得は、設定された値またはデフォルト値を返します。デフォルト値の理解は重要です - マップされていないキーはエラーを投げず、型のデフォルト(数値は0、boolはfalse、文字列は空)を返します。この動作は存在確認やmapping状態に基づくロジック実装に重要です。

pragma solidity ^0.8.0;

contract MappingOperations {
mapping(address => uint256) public scores;
mapping(string => bool) public flags;

// 値を設定
function setScore(address player, uint256 score) public {
[] = score;
}

// 値を取得
function getScore(address player) public view returns (uint256) {
return [player];
}

// デフォルト値をチェック
function hasPlayed(address player) public view returns (bool) {
return scores[player] 0;
}
}