【Solidity】マッピングを初期化するには?

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(値)から成っていることをおさえておきましょう。

タイトルとURLをコピーしました