基于以太坊的智能合约开发教程 Solidity mapping映射
基于以太坊的智能合约开发教程 Solidity mapping映射映射类型在声明时的形式为 mapping(_KeyType => _ValueType)。 其中 _KeyType 可以是任何基本类型,即可以是任何的内建类型, bytes 和 string 或合约类型、枚举类型。 而其他用户定义的类型或复杂的类型如:映射、结构体、即除 bytes 和 string 之外的数组类型是不可以作为
·
基于以太坊的智能合约开发教程 Solidity mapping映射
映射类型在声明时的形式为 mapping(_KeyType => _ValueType)。 其中 _KeyType 可以是任何基本类型,即可以是任何的内建类型, bytes 和 string 或合约类型、枚举类型。 而其他用户定义的类型或复杂的类型如:映射、结构体、即除 bytes 和 string 之外的数组类型是不可以作为 _KeyType 的类型的。
pragma solidity ^0.4.19;
contract mappingTest{
mapping(address => uint) idmaping;
mapping(uint => string) namemaping;
uint public sum = 0;
function register(string name){
// 获取当前合约的调用者
address account = msg.sender;
sum++;
// 将合约的调用者的地址与注册总量id绑定在一起
idmaping[msg.sender] = sum;
// 当前用户的id与用户注册的名字绑定在一起
namemaping[sum] = name;
}
function getNameById(uint id)view public returns(string){
return namemaping[id];
}
function getIdByAddress(address account)view returns(uint){
return idmaping[account];
}
}
更多推荐
已为社区贡献2条内容
所有评论(0)