以太坊solidity基础4

数组

pragma solidity ^0.4.5;

contract pcl {
    uint[3] a=[1,2,3];  //声明一个长度为3的uint类型得固定数组
    uint[] b=new uint[](0);     //声明一个长度为0的uint类型得动态数组
    uint[2][3] c=[[1,2],[1,2],[1,2]];   //申明一个长度为3的固定二维数组
    uint[2][] d=new uint[2][](0);       //申明一个长度为0的动态二维数组,可以通过push往里面添加数据

    function change_a(uint aa) {
        a[0]=aa;
    }

    function change_b_length(uint b_l) {
        b.length=b_l;
    }

    function change_b_push(uint b_push) {
        b.push(b_push);
    }
    
    function get_a() constant returns (uint[3]){
        return a;
    }
    
    function get_blength() constant returns(uint){
        return b.length;
    }

    function get_b() constant returns (uint[]){
        return b;
    }
}

结构体

pragma solidity ^0.4.5;

contract pcl {
    struct dongwu{      //声明一个结构体。结构体就是一系列不同类型得变量组成的集合。(有点像对象??)
        string name;
        uint age;
    }

    dongwu xiaomao=dongwu('花花',2);

    function get() constant returns (string){
        return xiaomao.name;
    }
}

映射

pragma solidity ^0.4.5;

contract pcl {
    mapping (address=>uint) balance;        //感觉就是咱大Python里面的dict

    function add(address add,uint usdt) {
        balance[add]+=usdt;
    }

    function get(address add) constant returns (uint){
        return balance[add];
    }
}

你可能感兴趣的:(区块链学习-以太坊)