基于以太坊的智能合约开发教程 Solidity mapping映射

基于以太坊的智能合约开发教程 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];
    }
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇

)">
下一篇>>