Solidityでマッピングを初期化する方法について解説します。
構文
まず、以下の形で、マッピングを宣言します。
mapping (キーのデータ型 => 値のデータ型) アクセス修飾子 変数名;
その後、マッピングに値を代入することで、マッピングを初期化します。
変数[キー] = 値;
サンプルコード
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract Test {
// 「キー:address型、値:uint型、アクセス修飾子:public」のマッピングを宣言
mapping (address => uint) public balances;
function store(uint256 num) public {
// 引数のnumでマッピングを初期化
balances[msg.sender] = num;
}
function retrieve() public view returns (uint256){
return balances[msg.sender];
}
}
マッピングは他のプログラミング言語で言うところの“連想配列”ですね。key(キー)とvalue(値)から成っていることをおさえておきましょう。