mapping是一张表,存储key-value对。更准确的说,mapping是一张hash映射表,内部并没有存储真实的key值。
下面的案例模拟了一个登陆网站,将地址与id绑定在一起。id又与姓名绑定在一起。
123456789101112131415161718192021222324 | pragma solidity ^0.4.23;contract mappingTest{ uint id = 0; mapping(address =>uint) idmap;//将地址与id绑定在一起 mapping(uint =>string) namemap;//id又与姓名绑定在一起。 //注册 function regist(string name) public{ address acount = msg.sender; id++; idmap[acount] = id; namemap[id] = name; } //根据地址获取id function getIdByAddress(address _address) public view returns(uint){ return idmap[_address]; } //根据id获取名字 function getNameByID(uint _id) public view returns(string){ return namemap[_id]; }} |
本文链接: https://dreamerjonson.com/2018/11/20/solidity-26-mapping/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。