【Solidity】Mapping的使用
Mapping就类似于Array,只是在key中放入自定义的名
以下是简单单层的mapping
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
error Unauthorized(string errorMsg,address _address);
contract test {
mapping(address=>uint) account;
function get(address _address)public view returns(uint){
return account[_address];
}
function set(address _address, uint amount)public{
account[_address] = amount;
}
function remove(address _address)public{
delete account[_address];
}
}
以下是多层的mapping, 根据班级和学生名称获取分数
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
error Unauthorized(string errorMsg,address _address);
contract test {
//根据班级和学生名称获取分数
mapping( uint=> mapping(string=>uint) ) score;
function getScore(uint _class,string memory _name)public view returns(uint){
return score[_class][_name];
}
function setScore(uint _class,string memory _name, uint _score)public{
score[_class][_name] = _score;
}
function removeScore(uint _class,string memory _name)public{
delete score[_class][_name];
}
}
![]()
Facebook评论