Appearance
映射 mapping 
Solidity 中的映射(mapping)是用于关联键值对的一种数据结构。
类似于其他编程语言中的哈希表,可以将键映射到其对应的值。
语法 
具体来说,映射是一个包含键和值的无序列表,每个键都关联到一个值。在 Solidity 中,映射的语法如下:
solidity
mapping (keyType => valueType) myMapping;其中 keyType 是指映射中的键的数据类型, valueType 是指映射中对应的值的数据类型,myMapping 是映射的变量名。
例如,我们可以定义一个将字符串映射到整数的映射:
solidity
mapping (string => uint) myMap;在 Solidity 中,映射可以用于多种场景,例如存储地址对应的余额、字符串对应的哈希值等等。
示例 
下面是一个简单的 Solidity 智能合约,其中包含一个映射变量,并演示了如何使用映射来存储和访问数据:
solidity
pragma solidity ^0.8.0;
contract MyContract {
    mapping (address => uint) public balances;
    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }
    function getBalance(address _addr) public view returns (uint) {
        return balances[_addr];
    }
}在该合约中,我们定义了一个名为 balances 的映射,它将每个地址映射到它们的余额。
deposit() 函数用于为合约中调用者的地址增加余额;getBalance() 函数用于返回给定地址的余额。