基于以太坊的智能合约开发教程Solidity mapping在结构体当中的使用

基于以太坊的智能合约开发教程Solidity mapping在结构体当中的使用

pragma solidity ^0.4.0;

contract mappingTest{

    struct Student {
        uint grade;
        string name;
        mapping (uint => string) map;
    }
  
    // 默认为storage类型,只能够用storage类型来操作我们的结构体中的mapping类型

    Student s;   

    // memory的对象不能够直接的操作struct结构体当中的mapping

    function test()public view returns(uint,string,string){
    // 在初始化结构体的时候,会忽略这样的mapping类型
        Student memory stu = Student(99,"zhangsan");
    //把内存当中的stu对象复制给s这样的storage对象,只能通过storage对象来操作结构体中的mapping对象
        s = stu;
        s.map[0] = "helloworld";
        return (s.grade,s.name,s.map[0]);   // 99,zhangsan,helloworld
    }
}
上一篇:(ES、head可视化插件)ElasticSearch(ES)中可视化插件head的下载安装教程


下一篇:52mapping root object深入剖析