solidity mapping of mapping

solidity mapping of mapping,两层映射,用的时候可以像二维数组一样去访问和修改值,非常方便。

以下代码示例中的这一句:

mapping(string => mapping(uint => uint)) prices

相当于建立了一个price数据库表(只不过存在内存中),表结构为:index, date, price, key值为index + date。

pragma solidity ^0.4.21;

contract mappingOfMapping{
    
    mapping(string => mapping(uint => uint)) prices; // string代表指数名,一个uint代表收盘日期,第二个uint代表收盘价格
    
    function setPrice(string _index, uint _date, uint _price) public{ // 设置某指数某天的收盘价
        prices[_index][_date] = _price; 
    }
    
    function getPrice(string _index,uint _date) public view returns(uint){ // 获取某指数某天的收盘价
        return(prices[_index][_date]);
    }
    
}
原文地址:https://www.cnblogs.com/huahuayu/p/8624169.html